现在的位置: 首页 > 综合 > 正文

SQL中Convert()函数的使用方法

2018年05月19日 ⁄ 综合 ⁄ 共 1242字 ⁄ 字号 评论关闭

定义和用法

CONVERT() 函数是把日期转换为新数据类型的通用函数。

CONVERT() 函数可以用不同的格式显示日期/时间数据。

语法

CONVERT(data_type(length),data_to_be_converted,style)

data_type(length) 规定目标数据类型(带有可选的长度)。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

实例

下面的脚本使用 CONVERT() 函数来显示不同的格式。我们将使用 GETDATE() 函数来获得当前的日期/时间:

CONVERT(VARCHAR(19),GETDATE())
CONVERT(VARCHAR(10),GETDATE(),110) 
CONVERT(VARCHAR(11),GETDATE(),106)
CONVERT(VARCHAR(24),GETDATE(),113)

结果类似:

Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635
另外,在实际项目中,sqlserver数据库中的时间字段类型为datetime,并且时间精确到了毫秒,我的需求是只需要以某种格式显示年月日,因此,我的sql写法如下:select zEntityno,zNote,zItemName,zQty,CONVERT(varchar(11),zBillDate,111),zScore from b_Vipredeem ,此时程序后台会报错:zBillDate列无效。但是数据库中的确存在这一列,而且在数据库查询控制台执行该语句又可以得到结果,最终发现在控制台查询得到的结果列名为无列名,于是将以上sql改为select zEntityno,zNote,zItemName,zQty,CONVERT(varchar(11),zBillDate,111) as zBillDate,zScore from b_Vipredeem,问题得以解决。

抱歉!评论已关闭.