SQL Server DateTime Format Chart
SQL Server DateTime Formatting
Usually the formatting of a DateTime value into a more readable date and time is dealt with by the client application. However, there are some situations were it is useful to convert a DateTime into a formatted character string within a SQL statement.
Converting a DateTime to a VarChar
The Transact-SQL (T-SQL) Convert command can be used to convert data between different types. When converting a DATETIME value to a VARCHAR string value a style code may be applied. The following code uses style code 2 to indicate that an ANSI standard date (yy/mm/dd) should be used to represent the date as a string.
SELECT convert(DATETIME,convert(VARCHAR, getdate(),2))
DateTime Style Codes
The table below describes the most popular style codes that are available for use when converting between a DateTime and a character representation. Each example uses today's date, 8 September 2007.
Style Code | Style | Format | Example |
---|---|---|---|
0 or 100 | Default. Equivalent to not specifying a style code. | mon dd yyyy hh:mmAM | Sep 8 2007 9:00PM |
1 | USA date. | mm/dd/yy | 09/08/07 |
2 | ANSI date. | yy.mm.dd | 07/09/08 |
3 | UK / French date. | dd/mm/yy | 08/09/07 |
4 | German date. | dd.mm.yy | 08.09.07 |
5 | Italian date. | dd-mm-yy | 08-09-07 |
6 | Abbreviated month. | dd mmm yy | 08 Sep 07 |
7 | Abbreviated month. | mmm dd, yy | Sep 08, 07 |
8 or 108 | 24 hour time. | HH:mm:ss | 21:00:00 |
9 or 109 | Default formatting with seconds and milliseconds appended. | mon dd yyyy hh:mm:ss:fffAM | Sep 8 2007 9:00:00:000PM |
10 | USA date with hyphen separators. | mm-dd-yy | 09-08-07 |
11 | Japanese date. | yy/mm/dd | 07/09/08 |
12 | ISO date. | yymmdd | 070908 |
13 or 113 | European default with seconds and milliseconds. | dd mon yyyy HH:mm:ss:fff | 08 Sep 2007 21:00:00:000 |
14 or 114 | 24 hour time with milliseconds. | HH:mm:ss:fff | 21:00:00:000 |
20 or 120 | ODBC canonical date and time. | yyyy-mm-dd HH:mm:ss | 2007-09-08 21:00:00 |
21 or 121 | ODBC canonical date and time with milliseconds. | yyyy-mm-dd HH:mm:ss.fff | 2007-09-08 21:00:00.000 |
101 | USA date with century. | mm/dd/yyyy | 09/08/2007 |
102 | ANSI date with century. | yyyy.mm.dd | 2007/09/08 |
103 | UK / French date with century. | dd/mm/yyyy | 08/09/2007 |
104 | German date with century. | dd.mm.yyyy | 08.09.2007 |
105 | Italian date with century. | dd-mm-yyyy | 08-09-2007 |
106 | Abbreviated month with century. | dd mmm yyyy | 08 Sep 2007 |
107 | Abbreviated month with century. | mmm dd, yyyy | Sep 08, 2007 |
110 | USA date with hyphen separators and century. | mm-dd-yyyy | 09-08-2007 |
111 | Japanese date with century. | yyyy/mm/dd | 2007/09/08 |
112 | ISO date with century. | yymmdd | 20070908 |
126 | ISO8601, for use in XML. | yyy-mm-ddThh:mm:ss | 2007-09-08T21:00:00 |