78、SQL Server CONVERT() 函数

SQLServer CONVERT() 函数用于把一个日期转换为别的数据类型

从某些方面说,就是使用不同的格式显示 日期/时间

CONVERT( data_type(length) , expression , style )

参数 说明
data_type( length ) 目标数据类型 ( 带有可选的长度 )
expression 需要转换的值
style 日期/时间的输出格式

style 参数可选值

如果想要将一个 datetime 或 smalldatetime 转换为字符数据,那么可选的 style 值如下

值( 年 yy ) 值( 年 yyyy ) 输入/输出 标准
- 0 or 100 mon dd yyyy hh:miAM (or PM) Default
1 101 mm/dd/yy USA
2 102 yy.mm.dd ANSI
3 103 dd/mm/yy British/French
4 104 dd.mm.yy German
5 105 dd-mm-yy Italian
6 106 dd mon yy
7 107 Mon dd, yy
8 108 hh:mm:ss
- 9 or 109 mon dd yyyy hh:mi:ss:mmmAM (or PM) Default+millisec
10 110 mm-dd-yy USA
11 111 yy/mm/dd Japan
12 112 yymmdd ISO
- 13 or 113 dd mon yyyy hh:mi:ss:mmm (24h)
14 114 hh:mi:ss:mmm (24h)
- 20 or 120 yyyy-mm-dd hh:mi:ss (24h)
- 21 or 121 yyyy-mm-dd hh:mi:ss.mmm (24h)
- 126 yyyy-mm-ddThh:mi:ss.mmm (no spaces) ISO8601
- 130 dd mon yyyy hh:mi:ss:mmmAM Hijiri
- 131 dd/mm/yy hh:mi:ss:mmmAM Hijiri

范例

我们先使用 GETDATE() 函数获得当前的日期/时间

然后用CONVERT() 函数将日期/时间显示为不同的格式

SELECT CONVERT(VARCHAR(19),GETDATE());
SELECT CONVERT(VARCHAR(10),GETDATE(),10);
SELECT CONVERT(VARCHAR(10),GETDATE(),110);
SELECT CONVERT(VARCHAR(11),GETDATE(),6);
SELECT CONVERT(VARCHAR(11),GETDATE(),106);
SELECT CONVERT(VARCHAR(24),GETDATE(),113);

显示结果如下

12 25 2017 1:51PM
12-25-17
12-25-2017
25 12 17
25 12 2017
12 25 2017 13:51:49:513