SQL中CONVERT函数格式:CONVERT(data_type,expression[,style])

发布时间 2023-08-08 13:28:46作者: hofmann

sqlserver convert()函数的使用方法_convert sqlserver_qq_37528515的博客-CSDN博客

SQL中CONVERT函数格式:CONVERT(data_type,expression[,style])

说明:

data_type:目标系统所提供的数据类型,如果转换时没有指定数据类型的长度,则 SQL Server 自动提供长度为 30。

expression:是任何有效的 Microsoft® SQL Server™ 表达式

style:【可选参数】日期格式样式,此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到

style 参数提供的数值确定了 datetime 数据的显示方式,年份可以显示为两位或四位数。默认情况下,SQL Server 将年份显示为两位数。若要显示包括世纪的四位数年份 (yyyy)(即使年份数据是使用两位数的年份格式存储的),请给 style 值加 100 以获得四位数的年份。

Style(年份为2位) Style(年份为4位) 输入输出格式
0 100 mon dd yyyy hh:miAM(或PM)(两者都是4位的年份)
1 101 mm/dd/yy
2 102 yy.mm.dd
3 103 dd/mm/yy
4 104 dd.mm.yy
5 105 dd-mm-yy
6 106 dd mon yy
7 107 mon dd,yy
8 108 hh:mm:ss
9 109 mon dd yyyy hh:mi:ss:mmmmAM(或PM)(12小时制)
10 110 mm-dd-yy
11 111 yy/mm/dd
12 112 yymmdd
13 113 dd mon yyyy hh:mi:ss:mmm(24小时制)
14 114 hh:mi:ss:mmm(24小时制)
20 120 yyyy-mm-dd hh:mi:ss(24小时制)
21 121 yyyy-mm-dd hh:mi:ss:mmm(24小时制)

Select CONVERT(varchar(100), GETDATE(), 0);--01  8 2018  5:50PM
Select CONVERT(varchar(100), GETDATE(), 100);--01  8 2018  5:50PM
 
Select CONVERT(varchar(100), GETDATE(), 1);--01/08/18
Select CONVERT(varchar(100), GETDATE(), 101);--01/08/2018
 
Select CONVERT(varchar(100), GETDATE(), 2);--18.01.08
Select CONVERT(varchar(100), GETDATE(), 102);--2018.01.08
 
Select CONVERT(varchar(100), GETDATE(), 3);--08/01/18
Select CONVERT(varchar(100), GETDATE(), 103);--08/01/2018
 
Select CONVERT(varchar(100), GETDATE(), 4);--08.01.18
Select CONVERT(varchar(100), GETDATE(), 104);--08.01.2018
 
Select CONVERT(varchar(100), GETDATE(), 5);--08-01-18
Select CONVERT(varchar(100), GETDATE(), 105);--08-01-2018
 
Select CONVERT(varchar(100), GETDATE(), 6);--08 01 18
Select CONVERT(varchar(100), GETDATE(), 106);--08 01 2018
 
Select CONVERT(varchar(100), GETDATE(), 7);--01 08, 18
Select CONVERT(varchar(100), GETDATE(), 107);--01 08, 2018
 
Select CONVERT(varchar(100), GETDATE(), 8);--18:02:28
Select CONVERT(varchar(100), GETDATE(), 108);--18:02:28
 
Select CONVERT(varchar(100), GETDATE(), 9);--01  8 2018  6:03:22:663PM
Select CONVERT(varchar(100), GETDATE(), 109);--01  8 2018  6:03:22:663PM
 
Select CONVERT(varchar(100), GETDATE(), 10);--01-08-18
Select CONVERT(varchar(100), GETDATE(), 110);--01-08-2018
 
Select CONVERT(varchar(100), GETDATE(), 11);--18/01/08
Select CONVERT(varchar(100), GETDATE(), 111);--2018/01/08
 
Select CONVERT(varchar(100), GETDATE(), 12);--180108
Select CONVERT(varchar(100), GETDATE(), 112);--20180108
 
Select CONVERT(varchar(100), GETDATE(), 13);--08 01 2018 18:08:32:910
Select CONVERT(varchar(100), GETDATE(), 113);--08 01 2018 18:08:32:910
 
Select CONVERT(varchar(100), GETDATE(), 14);--18:09:28:673
Select CONVERT(varchar(100), GETDATE(), 114);--18:09:28:673
 
Select CONVERT(varchar(100), GETDATE(), 20);--2018-01-08 18:10:02
Select CONVERT(varchar(100), GETDATE(), 120);--2018-01-08 18:10:02
 
Select CONVERT(varchar(100), GETDATE(), 21);--2018-01-08 18:11:36.033
Select CONVERT(varchar(100), GETDATE(), 121);--2018-01-08 18:11:36.033
--下面的没有相对应的了
Select CONVERT(varchar(100), GETDATE(), 22);--01/08/18  6:14:32 PM
Select CONVERT(varchar(100), GETDATE(), 23);--2018-01-08
Select CONVERT(varchar(100), GETDATE(), 24);--18:14:57
Select CONVERT(varchar(100), GETDATE(), 25);--2018-01-08 18:14:57.663
 
Select CONVERT(varchar(100), GETDATE(), 126);--2018-01-08T18:16:05.290
Select CONVERT(varchar(100), GETDATE(), 130);--21 ???? ?????? 1439  6:16:05:290PM
Select CONVERT(varchar(100), GETDATE(), 131);--21/04/1439  6:16:05:290PM