Convert
Explicitly converts a data type expression to another data type. Because some requirements often use different date formats, the following can be found in
Format the date in SQL Server.
SQL Server supports the data format in the Arabic style using the Kuwait algorithm.
In the table, the two columns on the left represent converting datetime or smalldatetime to the style value of the character data. Add 100 to the style value to obtain the four-digit year (yyyy) of the century ).
Without Century digital (yy) with Century digital (YYYY)
Standard
Input/Output **
-0 or 100 (*) Default Value: Mon dd yyyy hh: miam (or pm)
1 101 us mm/DD/YYYY
2 102 ANSI yy. Mm. dd
3 103 UK/French dd/mm/yy
4 104 German dd. mm. yy
5 105 Italian DD-mm-yy
6 106-dd mon YY
7 107-mon DD, YY
8 108-hh: mm: SS
-9 or 109 (*) Default Value + millisecond mon dd yyyy hh: MI: SS: mmmam (or pm)
10 110 US mm-dd-yy
11 111 YY/MM/DD in Japan
12 112 ISO yymmdd
-13 or 113 (*) European default value + millisecond dd mon yyyy hh: mm: SS: Mmm (24 h)
14 114-hh: MI: SS: Mmm (24 h)
-20 or 120 (*) ODBC specification yyyy-mm-dd hh: mm: ss [. fff]
-21 or 121 (*) ODBC specifications (in milliseconds) yyyy-mm-dd hh: mm: ss [. fff]
-126 (***) iso8601 yyyy-mm-dd thh: mm: SS: Mmm (without spaces)
-130 * Kuwait dd mon yyyy hh: MI: SS: mmmam
-131 * Kuwait dd/mm/yy hh: MI: SS: mmmam
* The default value (Style 0, 100, 9, 109, 13, 113, 20, 120, 21, or 121) always returns century digits (yyyy ).
** Input when converted to datetime; output when converted to character data.
* ** It is specially used for XML. For the conversion from datetime or smalldatetime to character data, the output format is shown in the table. For data conversion from float, money, smallmoney to character, the output is equivalent to style 2. For data conversion from real to character, the output is equivalent to style 1.
Important by default, SQL Server interprets two-digit years based on the end year 2049. That is, the year 49 with two digits is interpreted as 2049, and the year 50 with two digits is interpreted as 1950. Many client applications (such as client applications based on OLE automation objects) Use 2030 as the end year. SQL Server provides a configuration option ("") to change the end year used by SQL Server and process the date in a consistent manner. However, the safest way is to specify a four-digit year.
When converting from smalldatetime to character data, the style that contains seconds or milliseconds will display zero at these locations. When converting from the datetime or smalldatetime value, you can use the appropriate Char or varchar data type length to cut off the date part that is not required.
The following table shows the style values when converting from float or real to character data.
Value output
0 (default) is a maximum of six digits. Use scientific notation as needed.
1 is always an 8-bit value. Always use scientific notation.
2 is always a 16-bit value. Always use scientific notation.
In the following table, the left column indicates the style value when converting from money or smallmoney to character data.
Value output
0 (default value) each three digits on the left of the decimal point are not separated by commas. Two digits on the right of the decimal point, for example, 4235.98.
1. Each three digits on the left of the decimal point are separated by commas (,). The two digits on the right of the decimal point, for example, 3,510.92.
2. Each three digits on the left of the decimal point are not separated by commas. Four digits are used on the right of the decimal point, for example, 4235.9819.
Use convert:
Convert (data_type [(length)], expression [, style])
Select convert (varchar, getdate (), 120)
11:06:08
Select Replace (replace (convert (varchar, getdate (), 120 ),\'-\',\'\'),\'\', \'\'),\':\',\'\')
20040912110608
Select convert (varchar (12), getdate (), 111)
2004/09/12
Select convert (varchar (12), getdate (), 112)
20040912
Select convert (varchar (12), getdate (), 102)
2004.09.12
Select convert (varchar (12), getdate (), 101)
09/12/2004
Select convert (varchar (12), getdate (), 103)
12/09/2004
Select convert (varchar (12), getdate (), 104)
12.09.2004
Select convert (varchar (12), getdate (), 105)
12-09-2004
Select convert (varchar (12), getdate (), 106)
12 09 2004
Select convert (varchar (12), getdate (), 107)
09 12,200 4
Select convert (varchar (12), getdate (), 108)
11:06:08
Select convert (varchar (12), getdate (), 109)
09 12, 2004 1
Select convert (varchar (12), getdate (), 110)
09-12-2004
Select convert (varchar (12), getdate (), 113)
12 09 2004 1
Select convert (varchar (12), getdate (), 114)
11:06:08. 177
Select convert (varchar (100), getdate (), 0): 05 16 2006 AM
Select convert (varchar (100), getdate (), 1): 05/16/06
Select convert (varchar (100), getdate (), 2): 06.05.16
Select convert (varchar (100), getdate (), 3): 16/05/06
Select convert (varchar (100), getdate (), 4): 16.05.06
Select convert (varchar (100), getdate (), 5): 16-05-06
Select convert (varchar (100), getdate (), 6): 16 05 06
Select convert (varchar (100), getdate (), 7): 05 16, 06
Select convert (varchar (100), getdate (), 8): 10:57:46
Select convert (varchar (100), getdate (), 9): 05 16 2006 10: 57: 46: 827am
Select convert (varchar (100), getdate (), 10): 05-16-06
Select convert (varchar (100), getdate (), 11): 06/05/16
Select convert (varchar (100), getdate (), 12): 060516
Select convert (varchar (100), getdate (), 13): 16 05 2006 10: 57: 46: 937
Select convert (varchar (100), getdate (), 14): 10: 57: 46: 967
Select convert (varchar (100), getdate (), 20): 10:57:47
Select convert (varchar (100), getdate (), 21): 10:57:47. 157
Select convert (varchar (100), getdate (), 22): 05/16/06 10:57:47 AM
Select convert (varchar (100), getdate (), 23 ):
Select convert (varchar (100), getdate (), 24): 10:57:47
Select convert (varchar (100), getdate (), 25): 10:57:47. 250
Select convert (varchar (100), getdate (), 100): 05 16 2006 AM
Select convert (varchar (100), getdate (), 101): 05/16/2006
Select convert (varchar (100), getdate (), 102): 2006.05.16
Select convert (varchar (100), getdate (), 103): 16/05/2006
Select convert (varchar (100), getdate (), 104): 16.05.2006
Select convert (varchar (100), getdate (), 105): 16-05-2006
Select convert (varchar (100), getdate (), 106): 16 05 2006
Select convert (varchar (100), getdate (), 107): 05 16,200 6
Select convert (varchar (100), getdate (), 108): 10:57:49
Select convert (varchar (100), getdate (), 109): 05 16 2006 10: 57: 49: 437am
Select convert (varchar (100), getdate (), 110): 05-16-2006
Select convert (varchar (100), getdate (), 111): 2006/05/16
Select convert (varchar (100), getdate (), 112): 20060516
Select convert (varchar (100), getdate (), 113): 16 05 2006 10: 57: 49: 513
Select convert (varchar (100), getdate (), 114): 10: 57: 49: 547
Select convert (varchar (100), getdate (), 120): 10:57:49
Select convert (varchar (100), getdate (), 121): 10:57:49. 700
Select convert (varchar (100), getdate (), 126): 2006-05-16t10: 57: 49.827
Select convert (varchar (100), getdate (), 130): 18 ???? ?????? 1427 10: 57: 49: 907am
Select convert (varchar (100), getdate (), 131): 18/04/1427 10: 57: 49: 920am