Sql中把datetime转换成字符串(CONVERT)(转)

一、回顾一下CONVERT()的语法格式: CONVERT (<data_ type>[ length ], <expression> [, style]) 二、这里注重说明一下style的含义:style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式;一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到. 三、下表是SQL Server 系统提供的转换样式编号:

不带世纪数位 (yy)带世纪数位 (yyyy)标准输入/输出**
-0 或 100 (*)默认值mon dd yyyy hh:miAM(或 PM)
1101美国mm/dd/yyyy
2102ANSIyy.mm.dd
3103英国/法国dd/mm/yy
4104德国dd.mm.yy
5105意大利dd-mm-yy
6106-dd mon yy
7107-mon dd, yy
8108-hh:mm:ss
-9 或 109 (*)默认值 + 毫秒mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10110美国mm-dd-yy
11111日本yy/mm/dd
12112ISOyymmdd
-13 或 113 (*)欧洲默认值 + 毫秒dd mon yyyy hh:mm:ss:mmm(24h)
14114-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(***)ISO8601yyyy-mm-dd Thh:mm:ss.mmm(不含空格)
-130*Hijri****dd mon yyyy hh:mi:ss:mmmAM
-131*Hijri****dd/mm/yy hh:mi:ss:mmmAM

表中‘*’表示的含义说明: * 默认值(style 0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始终返回世纪数位 (yyyy)。
** 当转换为 datetime时输入;当转换为字符数据时输出。
*** 专门用于 XML。对于从 datetime或 smalldatetime 到 character 数据的转换,输出格式如表中所示。对于从 float、money 或 smallmoney 到 character 数据的转换,输出等同于 style 2。对于从 real 到 character 数据的转换,输出等同于 style 1。
**** Hijri 是具有几种变化形式的日历系统,Microsoft? SQL Server? 2000 使用其中的科威特算法。
四、不带世纪数位的实例代码(注释的表示非有效的样式号):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
SELECT CONVERT ( varchar (100), GETDATE(), 0) AS Style0
SELECT CONVERT ( varchar (100), GETDATE(), 1) AS Style1
SELECT CONVERT ( varchar (100), GETDATE(), 2) AS Style2
SELECT CONVERT ( varchar (100), GETDATE(), 3) AS Style3
SELECT CONVERT ( varchar (100), GETDATE(), 4) AS Style4
SELECT CONVERT ( varchar (100), GETDATE(), 5) AS Style5
SELECT CONVERT ( varchar (100), GETDATE(), 6) AS Style6
SELECT CONVERT ( varchar (100), GETDATE(), 7) AS Style7
SELECT CONVERT ( varchar (100), GETDATE(), 8) AS Style8
SELECT CONVERT ( varchar (100), GETDATE(), 9) AS Style9
SELECT CONVERT ( varchar (100), GETDATE(), 10) AS Style10
SELECT CONVERT ( varchar (100), GETDATE(), 11) AS Style11
SELECT CONVERT ( varchar (100), GETDATE(), 12) AS Style12
SELECT CONVERT ( varchar (100), GETDATE(), 13) AS Style13
SELECT CONVERT ( varchar (100), GETDATE(), 14) AS Style14
--SELECT CONVERT(varchar(100), GETDATE(), 15) AS Style15
--SELECT CONVERT(varchar(100), GETDATE(), 16) AS Style16
--SELECT CONVERT(varchar(100), GETDATE(), 17) AS Style17
--SELECT CONVERT(varchar(100), GETDATE(), 18) AS Style18
--SELECT CONVERT(varchar(100), GETDATE(), 19) AS Style19
SELECT CONVERT ( varchar (100), GETDATE(), 20) AS Style21
SELECT CONVERT ( varchar (100), GETDATE(), 21) AS Style21
SELECT CONVERT ( varchar (100), GETDATE(), 22) AS Style22
SELECT CONVERT ( varchar (100), GETDATE(), 23) AS Style23
SELECT CONVERT ( varchar (100), GETDATE(), 24) AS Style24
SELECT CONVERT ( varchar (100), GETDATE(), 25) AS Style25
--SELECT CONVERT(varchar(100), GETDATE(), 26) AS Style26
--SELECT CONVERT(varchar(100), GETDATE(), 27) AS Style27
--SELECT CONVERT(varchar(100), GETDATE(), 28) AS Style28
--SELECT CONVERT(varchar(100), GETDATE(), 29) AS Style29
--SELECT CONVERT(varchar(100), GETDATE(), 30) AS Style30
--SELECT CONVERT(varchar(100), GETDATE(), 31) AS Style31

运行结果: \ \\
五、带世纪数位的实例代码(注释的表示非有效的样式号):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
SELECT CONVERT ( varchar (100), GETDATE(), 100) AS Style100
SELECT CONVERT ( varchar (100), GETDATE(), 101) AS Style101
SELECT CONVERT ( varchar (100), GETDATE(), 102) AS Style102
SELECT CONVERT ( varchar (100), GETDATE(), 103) AS Style103
SELECT CONVERT ( varchar (100), GETDATE(), 104) AS Style104
SELECT CONVERT ( varchar (100), GETDATE(), 105) AS Style105
SELECT CONVERT ( varchar (100), GETDATE(), 106) AS Style106
SELECT CONVERT ( varchar (100), GETDATE(), 107) AS Style107
SELECT CONVERT ( varchar (100), GETDATE(), 108) AS Style108
SELECT CONVERT ( varchar (100), GETDATE(), 109) AS Style109
SELECT CONVERT ( varchar (100), GETDATE(), 110) AS Style110
SELECT CONVERT ( varchar (100), GETDATE(), 111) AS Style111
SELECT CONVERT ( varchar (100), GETDATE(), 112) AS Style112
SELECT CONVERT ( varchar (100), GETDATE(), 113) AS Style113
SELECT CONVERT ( varchar (100), GETDATE(), 114) AS Style114
--SELECT CONVERT(varchar(100), GETDATE(), 115) AS Style115
--SELECT CONVERT(varchar(100), GETDATE(), 116) AS Style116
--SELECT CONVERT(varchar(100), GETDATE(), 117) AS Style117
--SELECT CONVERT(varchar(100), GETDATE(), 118) AS Style118
--SELECT CONVERT(varchar(100), GETDATE(), 119) AS Style119
SELECT CONVERT ( varchar (100), GETDATE(), 120) AS Style121
SELECT CONVERT ( varchar (100), GETDATE(), 121) AS Style121
--SELECT CONVERT(varchar(100), GETDATE(), 122) AS Style122
--SELECT CONVERT(varchar(100), GETDATE(), 123) AS Style123
--SELECT CONVERT(varchar(100), GETDATE(), 124) AS Style124
--SELECT CONVERT(varchar(100), GETDATE(), 125) AS Style125
SELECT CONVERT ( varchar (100), GETDATE(), 126) AS Style126
SELECT CONVERT ( varchar (100), GETDATE(), 127) AS Style127
--SELECT CONVERT(varchar(100), GETDATE(), 128) AS Style128
--SELECT CONVERT(varchar(100), GETDATE(), 129) AS Style129
SELECT CONVERT ( varchar (100), GETDATE(), 130) AS Style130
SELECT CONVERT ( varchar (100), GETDATE(), 131) AS Style131

运行结果: \ \

转载于:https://www.cnblogs.com/hrx-star/p/4033052.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值