SQL Server中varchar转datetime和Convert函数

/ 0评 / 17

在实际数据库引用中,可能会出现使用varchar类型存储时间(如:2014-01-02)或者存储年月(如:2014-02),但在做数据查询的时候,可能会通过日期大小的比较来查询数据。这时我们需要通过数据库的内置函数将varchar类型转成datetime类型后进行比较。

Convert函数

函数说明

CONVERT(<data_type(length)>, <data_to_be_converted>, <style>)

data_type:目标数据类型,可选长度;例如:varchar(20)

data_to_be_converted:需要转换的值

style:输出格式

可以使用的style值

Style ID Style 格式
100 或者 0 mon dd yyyy hh:miAM (或者 PM)
101 mm/dd/yy
102 yy.mm.dd
103 dd/mm/yy
104 dd.mm.yy
105 dd-mm-yy
106 dd mon yy
107 Mon dd, yy
108 hh:mm:ss
109 或者 9 mon dd yyyy hh:mi:ss:mmmAM(或者 PM)
110 mm-dd-yy
111 yy/mm/dd
112 yymmdd
113 或者 13 dd mon yyyy hh:mm:ss:mmm(24h)
114 hh:mi:ss:mmm(24h)
120 或者 20 yyyy-mm-dd hh:mi:ss(24h)
121 或者 21 yyyy-mm-dd hh:mi:ss.mmm(24h)
126 yyyy-mm-ddThh:mm:ss.mmm(没有空格)
130 dd mon yyyy hh:mi:ss:mmmAM
131 dd/mm/yy hh:mi:ss:mmmAM

例子
varchar转datetime

select convert(datetime,'2014-01' + '-02',121)
结果:2014-01-01 00:00:00.000

datetime转varchar

select convert(varchar(20),GETDATE(),111)
结果:2015/01/28

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注