sql的时间格式化
2013-04-17工作中常常用到时间的格式化,在这里整理了一下,方便以后查找。
1.常用:
Select CONVERT(varchar(100), GETDATE(), 8) --10:57:46 Select CONVERT(varchar(100), GETDATE(), 24) --10:57:47 Select CONVERT(varchar(100), GETDATE(), 108) --10:57:49 Select CONVERT(varchar(100), GETDATE(), 12) --060516 Select CONVERT(varchar(100), GETDATE(), 23) --2006-05-16 Select CONVERT(varchar(100), GETDATE(), 111) --2006/05/16
2.下面是比较全的:
select convert(varchar(100),getdate(),100) --0或100(*) 默认值 mon dd yyyy hh:miAM(或PM) select convert(varchar(100),getdate(),101) --101 美国 mm/dd/yyyy select convert(varchar(100),getdate(),102) --102 ANSI yyyy.mm.dd select convert(varchar(100),getdate(),103) --103 英国/法国 dd/mm/yy select convert(varchar(100),getdate(),104) --104 德国 dd.mm.yy select convert(varchar(100),getdate(),105) --105 意大利 dd-mm-yy select convert(varchar(100),getdate(),106) --106 dd mon yy 17 04 2013 select convert(varchar(100),getdate(),107) --107 mon dd,yy 04 17, 2013 select convert(varchar(100),getdate(),108) --108 hh:mm:ss 12:31:10 select convert(varchar(100),getdate(),109) --9或109(*) 默认值+毫秒 mon dd yyyy hh:mi:ss:mmmAM(或PM) select convert(varchar(100),getdate(),110) --110 美国 mm-dd-yy 04-17-2013 select convert(varchar(100),getdate(),111) --111 日本 yy/mm/dd 2013/04/17 select convert(varchar(100),getdate(),112) --112 ISO yymmdd 20130417 select convert(varchar(100),getdate(),113) --13或113(*) 欧洲默认值+毫秒 dd mon yyyy hh:mm:ss:mmm(24h) 17 04 2013 12:36:22:107 select convert(varchar(100),getdate(),114) --14或114 hh:mi:ss:mmm(24h) 12:37:52:037 select convert(varchar(100),getdate(),120) --20或120(*) ODBC规范 yyyy-mm-dd hh:mm:ss[.fff] 2013-04-17 12:37:30 select convert(varchar(100),getdate(),121) --21或121(*) ODBC规范(带毫秒)yyyy-mm-dd hh:mm:ss[.fff] 2013-04-17 12:38:26.733 select convert(varchar(100),getdate(),126) --126(***) ISO8601 yyyy-mm-ddThh:mm:ss:mmm(不含空格) 2013-04-17T12:38:59.743 select convert(varchar(100),getdate(),130) --130* 科威特 dd mon yyyy hh:mi:ss:mmmAM 7 ????? ??????? 1434 12:39:26:940PM select convert(varchar(100),getdate(),131) --131* 科威特 dd/mm/yy hh:mi:ss:mmmAM 7/06/1434 12:40:57:290PM
Select CONVERT(varchar(100), GETDATE(), 0) --05 16 2006 10:57AM 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) --2006-05-16 10:57:47 Select CONVERT(varchar(100), GETDATE(), 21) --2006-05-16 10:57:47.157 Select CONVERT(varchar(100), GETDATE(), 22) --05/16/06 10:57:47 AM Select CONVERT(varchar(100), GETDATE(), 23) --2006-05-16 Select CONVERT(varchar(100), GETDATE(), 24) --10:57:47 Select CONVERT(varchar(100), GETDATE(), 25) --2006-05-16 10:57:47.250 Select CONVERT(varchar(100), GETDATE(), 100) --05 16 2006 10:57AM 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, 2006 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) --2006-05-16 10:57:49 Select CONVERT(varchar(100), GETDATE(), 121) --2006-05-16 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
3. SQL中CONVERT转化函数的用法
格式:
CONVERT(data_type,expression[,style])
说明:
此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)
相互转换的时候才用到。
style数字在转换时间时的含义如下:
Style(2位表示年份) | Style(4位表示年份) | 输入输出格式 |
0 | 100 | mon dd yyyy hh:miAM(或PM) |
1 | 101 | mm/dd/yyyy |
2 | 102 | yyyy-mm-dd |
3 | 103 | dd/mm/yyyy |
4 | 104 | dd-mm-yyyy |
5 | 105 | dd-mm-yyyy |
6 | 106 | dd mon yyyy |
7 | 107 | mon dd,yyyy |
8 | 108 | hh:mm:ss |
9 | 109 | mon dd yyyy hh:mi:ss:mmmmAM(或PM) |
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小时制) |