关于 SQL中CONVERT函数的第三个参数的问题

今天翻了下以前发过的一些帖子,感觉时间过的真快啊,那个时候的菜鸟已经变成老鸟了,那个时候的老鸟也都成了大拿了(当然还有还没出现的蛋蛋也变成大拿的)。不禁想到几个问题: 我是谁?我从哪里来?我该到哪里去?  看来我真的想多了,好了,元归正传,我发现以前一个帖子里问的一个问题一直没人解答,所以今天把这个问题弄清楚了一下,也算是温故而知新吧。

 

SQL语句中用CONVERT函数转换日期格式:

select getdate()
结果:2003-12-28 16:52:00.107

select convert(char(8),getdate(),112)
结果:20031228

select convert(char(8),getdate(),108)
结果:16:52:00

select convert(char(8),getdate(),112)

SELECT CONVERT(VARCHAR(12),CONVERT(SMALLDATETIME,'20070615'),111)
结果:2007/06/15

                          
第三个参数在进行日期格式转换时规则如下:

1 101 美国 mm/dd/yyyy
2 102 ANSI yyyy.mm.dd
3 103 英国/法国 dd/mm/yyyy
4 104 德国 dd.mm.yyyy
5 105 意大利 dd-mm-yyyy
6 106 - dd mm yyyy
7 107 - mon dd, yyyy
8 108 - hh:mm:ss
9 109 (*) 默认值 + 毫秒 mm dd yyyy hh:mi:ss:mmmAM(或 PM)
10 110 美国 mm-dd-yyyy
11 111 日本 yyyy/mm/dd
12 112 ISO yyyymmdd
- 13 或 113 (*) 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 或 120 (*) ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff]
- 21 或 121 (*) ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff]
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(不含空格)
- 130* 科威特 dd mon yyyy hh:mi:ss:mmmAM
- 131* 科威特 dd/mm/yy hh:mi:ss:mmmAM

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值