SQL Server DateTime to and fro Varchar Conversion
I figured out solutions of another iritating problems anyone may fall behind and hence should know by reference:
General Syntax for convert function
convert(target_type, expression, style_code)
Now for convert(varchar, exp, code). As code is a number one may find himself dificult to remember the scode to real style mapping.
Here code mapping with meaning is:
The list of styles that can be used are:
Style ID | Style Type |
0 or 100 | mon dd yyyy hh:miAM (or PM) |
101 | mm/dd/yy |
102 d | yy.mm.d |
103 | dd/mm/yy |
104 | dd.mm.yy |
105 | dd-mm-yy |
106 | dd mon yy |
107 | Mon dd, yy |
108 | hh:mm:ss |
9 or 109 | mon dd yyyy hh:mi:ss:mmmAM (or PM) |
110 | mm-dd-yy |
111 | yy/mm/dd |
112 | yymmdd |
13 or 113 | dd mon yyyy hh:mm:ss:mmm(24h) |
114 | hh:mi:ss:mmm(24h) |
20 or 120 | yyyy-mm-dd hh:mi:ss(24h) |
Convert string(character data) to Datetime
These styles are the format of input to be used when converting character data into datetime and format of output while converting datetime data into characters:
for convert(datetime, exp, code):
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
Comments