随笔 - 911  文章 - 5  评论 - 94  阅读 - 243万

SQL SERVER中的日期转换

SQL Server中,通过使用getdate()函数可以查询当前日期,例如:

select getdate()

查询结果为:

2012-11-26 11:01:38.030

该值默认为datetime类型,其中包含了年、月、日、时、分、秒众多信息,并精确到了毫秒级。但如果在查询数据时只想取“年月日”,该如何截取呢?这时候可以使用convert函数,将某种数据类型转换为另一种数据类型。

convert的具体语法如下:

convert ( data_type [ ( length ) ] , expression [ , style ] )

参数含义如下:

Ø date_type:转换后的数据类型,如果没有精度定义需要,length可以省略;

Ø expression:要转换数据类型的SQL Server表达式;

Ø style:定义数据类型转换时的格式,下面列举几种常用的格式

 

年份表示(2位)

年份表示(4位)

输入/输出格式

-

0 or 100

mon dd yyyy hh:miAM(or PM)

1

101

mm/dd/yyyy

2

102

yy.mm.dd

3

103

dd/mm/yy

4

104

dd.mm.yy

5

105

dd-mm-yy

6

106

dd mon yy

7

107

mon dd,yy

8

108

hh:mm:ss

9

109

mon dd yyyy hh:mi:ss:mmmAM(or PM)

10

110

mm-dd-yy

11

111

yy/mm/dd

12

112

yymmdd

-

13 or 113

dd mon yyyy hh:mm:ss:mmm(24h)

14

114

hh:mi:ss:mmm(24h)

-

20 or 120

yyyy-mm-dd hh:mi:ss(24h) 

-

21 or 121

yyyy-mm-dd hh:mi:ss:mmm(24h) 

 

举例如下:

1select convert(varchar,getdate(),100)

查询结果为:

11 26 2012 11:28AM

 

2select convert(varchar,getdate(),101)

查询结果为:

11/26/2012

 

3select convert(varchar,getdate(),1)

查询结果为:

11/26/12

 

4select convert(varchar,getdate(),108)

查询结果为:

13:04:51

 

5select convert(varchar,getdate(),111)

查询结果为:

2012/11/26

 

6select convert(varchar,getdate(),120)

查询结果为:

2012-11-26 13:06:07

 

严格来说,convert不属于日期处理函数,同样也可以对其他数据类型进行转换,只是它经常被用于日期处理中,所以在使用该函数的时候,需要注意要先把日期格式的字符串转换为日期型,然后才能利用convert进行日期格式转换,否则就变成字符串转换为字符串,此时的style选项是无效的。

举例如下:

declare @dt datetime –-声明变量dt的数据类型为datetime

set @dt='2012-11-26' –-为变量dt赋值,该日期为20121126

 

(1)将该日期转换为“dd/mm/yy”格式,设置style=103

select convert(varchar,@dt,103)

查询结果为:

26/11/2012

 

2)将该日期转换为“yy/mm/dd”格式,设置style=111

select convert(varchar,@dt,111)

查询结果为:

2012/11/26

以上两个例子可以转换成功。

 

再看下面的例子:

select convert(varchar,'2012-11-26',103)

查询结果为:

2012-11-26

该转换并未成功,因为在此处'2012-11-26'是字符串类型,对其设置任何style值均无效。

posted on   momingliu11  阅读(415)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2013年1月 >
30 31 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 1 2
3 4 5 6 7 8 9

点击右上角即可分享
微信分享提示