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 |