SQL CONVERT() 是一个 SQL Server 函数,用于将数据从一个类型转换到另一个类型。我们可以用Convert函数将一个日期/时间表达式转换为不同格式的字符串,或者将一个日期/时间格式的字符串转换为日期/时间表达式。
SQL CONVERT() 函数语法
CONVERT(data_type(length), data_value, style)
data_type(length): 转换的目标类型,length是可选的。
data_value: 需要转换的数据。
style: 日期/时间的格式。
style值可是下面中的一个:
| Style | Format |
|---|---|
| 100 or 0 | mon dd yyyy hh:miAM (or PM) – Nov 13 2011 3:17PM |
| 101 | mm/dd/yyyy – 11/13/2011 |
| 102 | yyyy.mm.dd – 2011.11.13 |
| 103 | dd/mm/yyyy – 13/11/2011 |
| 104 | dd.mm.yyyy – 13.11.2011 |
| 105 | dd-mm-yyyy – 13-11-2011 |
| 106 | dd mon yyyy – 13 Nov 2011 |
| 107 | Mon dd, yyyy – Nov 13, 2011 |
| 108 | hh:mm:ss – 15:25:08 |
| 109 or 9 | mon dd yyyy hh:mi:ss:mmmAM (or PM) – Nov 13 2011 3:25:52:687PM |
| 110 | mm-dd-yyyy – 11-13-2011 |
| 111 | yyyy/mm/dd – 2011/11/13 |
| 112 | yyyymmdd – 20111113 |
| 113 | dd mon yyyy hh:mm:ss:mmm(24h) – 13 Nov 2011 15:28:39:750 |
| 114 | hh:mi:ss:mmm(24h) – 15:29:14:577 |
| 120 or 20 | yyyy-mm-dd hh:mi:ss(24h) – 2011-11-13 15:29:53 |
| 121 or 21 | yyyy-mm-dd hh:mi:ss.mmm(24h) – 2011-11-13 15:30:31.500 |
| 126 | yyyy-mm-ddThh:mm:ss.mmm(no spaces) – 2011-11-13T15:31:07.123 |
| 127 | yyyy-mm-ddThh:mi:ss.mmmZ – 2011-11-13T15:39:35.220 |
| 130 | dd mon yyyy hh:mi:ss:mmmAM – 17 Nov 2011 1432 3:33:38:813PM |
| 131 | dd/mm/yy hh:mi:ss:mmmAM – 17/12/1432 3:35:36:720PM |
SQL CONVERT() 函数范例
SELECT CONVERT(VARCHAR(19), GETDATE(), 100) SELECT CONVERT(VARCHAR(10), GETDATE(), 104) SELECT CONVERT(VARCHAR(19), GETDATE(), 120)
结果会类似于:
Nov 13 2011 4:10PM 13.11.2011 2011-11-13 16:11:19
我们也可以将一个字符串转换为日期/时间类型:
SELECT CONVERT(DATETIME, 'Nov 23 2012 11:53:44:456AM', 109)
结果会类似于:
| 2012-11-23 11:53:44.457 |
将一个字符串转换为数字:
SELECT CONVERT(INT, '2022')
结果会类似于:
| 2022 |
