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小时制)
posted @ 2013-04-17 13:05  青鸟的天空  阅读(657)  评论(0编辑  收藏  举报