Great job! The CONVERT()
function is similar to CAST()
, but it takes more arguments:
CONVERT(newDataType, value, [style])
It's fairly straightforward. The first argument is the data type you want to have returned. The second is the value you want to convert. And the third, which is optional, is the time or date format you want. This style argument is an integer; for date and time formats, you can use one of the following codes:
Code |
Format |
102 |
yyyy.mm.dd |
103 |
dd/mm/yyyy |
104 |
dd.mm.yyyy |
105 |
dd-mm-yyyy |
107 |
Mon dd, yyyy |
113 |
dd mon yyyy hh:mi:ss:mmm (24 hour format) |
114 |
hh:mi:ss:mmm (24 hour format) |
There are more styles, including numeric values, that you can find in the
SQL Server documentation.
Suppose you want to convert a date value from the ProducedDate
column to the VARCHAR
data type. And suppose you must have the date displayed as dd.mm.yyyy
. This query will do the job:
SELECT
ProducedDate,
CONVERT(varchar, ProducedDate, 104) AS ConvertedDate
FROM Aircraft
WHERE Id = 3;
You'd see 2010-03-01
in the first column and 01.03.2010
in the second.
IMPORTANT: Date and time can only be formatted into string data types.