CONVERT() Function in SQL Server

Rumman Ansari   Software Engineer   2023-03-25   5503 Share
☰ Table of Contents

Table of Content:


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