Table of Contents

    How to Use the CONVERT() Function in SQL Server: A Complete Guide

    How to Use the CONVERT() Function in SQL Server: A Complete Guide

    The CONVERT() function converts a value (of any type) into a specified datatype.

    Syntax:

    
    CONVERT(data_type(length), expression, style)
    

    Parameter Values

    Value Description
    data_type Required. The datatype to convert expression to. Can be one of the following: bigint, int, smallint, tinyint, bit, decimal, numeric, money, smallmoney, float, real, datetime, smalldatetime, char, varchar, text, nchar, nvarchar, ntext, binary, varbinary, or image
    (length) Optional. The length of the resulting data type (for char, varchar, nchar, nvarchar, binary and varbinary)
    expression Required. The value to convert to another data type
    style Optional. The format used to convert between data types, such as a date or string format. Can be one of the following values:

    Converting datetime to character:

    Without century With century Input/Output Standard
    0 100 mon dd yyyy hh:miAM/PM Default
    1 101 mm/dd/yyyy US
    2 102  yyyy.mm.dd ANSI
    3 103  dd/mm/yyyy British/French
    4 104 dd.mm.yyyy German
    5 105  dd-mm-yyyy Italian
    6 106 dd mon yyyy -
    7 107 Mon dd, yyyy -
    8 108 hh:mm:ss -
    9 109 mon dd yyyy hh:mi:ss:mmmAM (or PM) Default + millisec
    10 110 mm-dd-yyyy USA
    11 111  yyyy/mm/dd Japan
    12 112  yyyymmdd ISO
    13 113 dd mon yyyy hh:mi:ss:mmm Europe (24 hour clock)>
    14 114 hh:mi:ss:mmm 24 hour clock
    20 120 yyyy-mm-dd hh:mi:ss ODBC canonical (24 hour clock)
    21 121 yyyy-mm-dd hh:mi:ss.mmm ODBC canonical (24 hour clock)
      126 yyyy-mm-ddThh:mi:ss.mmm ISO8601
      127 yyyy-mm-ddThh:mi:ss.mmmZ ISO8601 (with time zone Z)
      130 dd mon yyyy hh:mi:ss:mmmAM Hijiri
      131 dd/mm/yy hh:mi:ss:mmmAM Hijiri

    Converting float to real:

    Value Explanation
    0 Maximum 6 digits (default)
    1 8 digits
    2 16 digits

    Converting money to character:

    Value Explanation
    0 No comma delimiters, 2 digits to the right of decimal
    1 Comma delimiters, 2 digits to the right of decimal
    2  No comma delimiters, 4 digits to the right of decimal

    Code:

    
    -- Convert an expression from one data type to another (varchar):
    SELECT CONVERT(varchar, 25.65);
    
    -- Convert an expression from one data type to another (datetime):
    SELECT CONVERT(datetime, '2017-08-25');
    
    --Convert an expression from one data type to another (varchar):
    SELECT CONVERT(varchar, '2017-08-25', 101);
    

    Output:

    The above code will produce the following result-

    
    25.65
    2017-08-25 00:00:00.000
    2017-08-25
    

    Consider the Employees Table below

    CAST function in sql server

    The following queries convert, DateOfBirth's DateTime datatype to NVARCHAR.

    convert function in sql server

    Code:

    
    Select Id, Name, DOB, Convert(nvarchar, DOB, 103) as ConvertedDOB
    from Employee
    

    Prerequisite Code:

    
    Drop table Employee
    
    Create Table Employee(
     Id int NOT NULL primary key,
     Name nvarchar(50),
     DOB datetime
    )
    
    insert into Employee values ('1', 'Rambo', '1986-11-14 08:26:00.000')
    insert into Employee values ('2', 'Azam', '1984-10-10 03:32:00.000')
    insert into Employee values ('3', 'Inza', '1996-07-26 08:26:00.000')
    insert into Employee values ('4', 'Jaman', '1990-11-02 03:32:00.000')
    insert into Employee values ('5', 'Asad', '1991-01-03 03:32:00.000')
    insert into Employee values ('6', 'kamran', '1990-11-02 03:32:00.000')
    
    Select * from Employee