Format: Convert (data_type, expression [, style]) Note: This style is generally in the time type (datetime, smalldatetime) and string type (nchar, nvarchar, Char, varchar) It is used only when they are converted to each other. Example: Select convert (varchar (30), getdate (), 101) now Result: Now --------------------------------------- | 09/15/2001 ========================================================== ====================================== The conversion time of a style number is as follows: -------------------------------------------------------------------- Style (2 bits represent the year) | style (4 bits represent the year) | input/output format --------------------------------------------------------------------- 0 | 100 | mon dd yyyy hh: miam (or pm) --------------------------------------------------------------------- 1 | 101 us | mm/DD/yy -------------------------------------------------------------------- 2 | 102 ANSI | YY-mm-dd -------------------------------------------------------------------- 3 | 103 English | dd/mm/yy -------------------------------------------------------------------- 4 | 104 Germany | dd. mm. yy -------------------------------------------------------------------- 5 | 105 Italy | DD-mm-yy --------------------------------------------------------------------- 6 | 106 | dd mon YY --------------------------------------------------------------------------- 7 | 107 | mon DD, YY ------------------------------------------------------------------------------ Eight | 108 | hh: mm: SS ----------------------------------------------------------------------- 9 | 109 | mon dd yyyy hh: MI: SS: mmmmam (or pm) ---------------------------------------------------------------------------- 10 | 110 US | mm-dd-yy ----------------------------------------------------------------------------- 11 | 111 Japan | YY/MM/dd ------------------------------------------------------------------------- 12 | 112 ISO | yymmdd ------------------------------------------------------------------------ 13 | 113 European default value | dd mon yyyy hh: MI: SS: Mmm (in 24-hour format) ------------------------------------------------------------------------ 14 | 114 | hh: MI: SS: Mmm (in 24-hour format) -------------------------------------------------------------------------- 20 | 120 ODBC specifications | yyyy-mm-dd hh: MI: SS (24-hour) ----------------------------------------------------------------------------- 21 | 121 | yyyy-mm-dd hh: MI: SS: Mmm (in 24-hour format) ----------------------------------------------------------------------- Statement and query result: 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 Note: Use convert: CONVERT ( data_type [ ( length ) ] , expression [ , style ] ) ParametersExpression Is any valid Microsoft SQL Server expression .. Data_type Data Types provided by the target system, includingBigintAndSQL _variant. User-Defined data types cannot be used. Length Nchar,Nvarchar,Char,Varchar,BinaryOrVarbinaryOptional parameter of the data type. Style Datetime orSmalldatetimeConvert data to character data (Nchar,Nvarchar,Char,Varchar,NcharOrNvarcharData Type); or string format styleFloat,Real,MoneyOrSmallmoneyConvert data to character data (Nchar,Nvarchar,Char,Varchar,NcharOrNvarcharData Type ). SQL Server supports the data format in the Arabic style using the Kuwait algorithm. In the table, the two columns on the left represent datetime orSmalldatetimeConversion to character dataStyleValue. ToStyleValue plus 100 to obtain the four-digit year (yyyy) of the century ).
Without Century digital (yy) |
Digital Century (YYYY) |
Standard |
Input/Output ** |
- |
0 or 100 (*) |
Default Value |
Mon dd yyyy hh: miam (or pm) |
1 |
101 |
USA |
Mm/DD/YYYY |
2 |
102 |
ANSI |
YY. Mm. dd |
3 |
103 |
UK/France |
Dd/mm/yy |
4 |
104 |
Germany |
Dd. mm. yy |
5 |
105 |
Italy |
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 |
USA |
Mm-dd-yy |
11 |
111 |
Japan |
YY/MM/dd |
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 specifications |
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 (excluding spaces) |
- |
130 * |
Hijri **** |
Dd mon yyyy hh: MI: SS: mmmam |
- |
131 * |
Hijri **** |
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. ForSmalldatetimeToCharacterData conversion. The output format is shown in the table. ForFloat,MoneyOrSmallmoneyToCharacterData conversion and output are equivalentStyle2. ForRealToCharacterData conversion and output are equivalentStyle1. * *** Hijri is a calendar system with several variations. Microsoft SQL Server 2000 uses the Kuwait algorithm. ImportantBy 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. WhenSmalldatetimeWhen converting to character data, the style that contains seconds or milliseconds will display zero at these locations. WhenSmalldatetimeYou can use the appropriateCharOrVarcharThe length of the Data Type to truncate the date part that is not required. |