SQL CONVERT 函数

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