Sql Server中日期格式知多少?

Sql Server中的日期函数多种多样,每一种都有其特别的用途,了解和掌握它们将帮助你在日期转换的过程中多一样选择,你还在犹豫什么?come on!!

1.CONVERT()

在Sql Server 中有一个非常强大的日期格式化函数,可以帮你将日期转化成你想要的各种格式,那就是CONVERT()函数,你只需要给它不同的参数就可以让其为你展现不同的格式,可是你真的了解它的全部用法吗?下面就让我为你们总结一下:

CONVERT(param1,param2,param3)函数一般用于日期格式与字符串直接相互转换,它有三个参数,第1个参数param1是它转换后的大小,第2个参数param2是需要转换的日期字段或函数,第3个参数param3是需要转换的格式。

具体使用方法如下:

GETDATE()为获取当前系统时间。

Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16 

Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM 

Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 

Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16 

Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06 

Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06 

Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06 

Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06 

Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06 

Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46 

Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM 

Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06 

Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16 

Select CONVERT(varchar(100), GETDATE(), 12): 060516 

Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937 

Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967 

Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47 

Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157 

Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM 

Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16 

Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47 

Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250 

Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM 

Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006 

Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16 

Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006 

Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006 

Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006 

Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006 

Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006 

Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49 

Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM 

Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006 

Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16 

Select CONVERT(varchar(100), GETDATE(), 112): 20060516 

Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513 

Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547 

Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49 

Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700 

Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827 

Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM ()

Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM 

 

2.DATEADD()

DATEADD()函数可以帮你在当前时间的基础上增加或减去相应的时间,

DATEADD(datepart,number,date)

date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。

datepart 参数可以是下列的值:

 

datepart

缩写

yy, yyyy

季度

qq, q

mm, m

年中的日

dy, y

dd, d

wk, ww

星期

dw, w

小时

hh

分钟

mi, n

ss, s

毫秒

ms

微妙

mcs

纳秒

ns

例如:

 

select DATEADD(day,1,'2016-07-07')   --返回:2016-07-08 00:00:00.000

select DATEADD(day,-1,'2016-07-07')   --返回:2016-07-06 00:00:00.000

select DATEADD(month,1,'2016-07-07')  --返回:2016-08-07 00:00:00.000

 

3.DATEDIFF()

DATEDIFF() 函数用于返回两个日期之间的天数,

DATEDIFF(datepart,startdate,enddate)

startdate 和 enddate 参数是合法的日期表达式。

datepart参数值同上。

例如:

SELECT DATEDIFF(day,'2016-07-07','2016-07-18')   --返回:11

 

4.DATEPART()

DATEPART(datepart,date)函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等,date 参数是合法的日期表达式,datepart参数值同上。

SELECT DATEPART(MONTH,'2016-07-07')  --返回7

 

5.DATENAME()

DATENAME(param,date)函数返回代表指定日期的指定日期部分的字符串。date就是指定的日期,param是指定要返回日期部分的参数,包括下面几种:

 

日期部分

缩写

year

yy, yyyy

quarter

qq, q

month

mm, m

dayofyear

dy, y

day

dd, d

week

wk, ww

weekday

dw

Hour

hh

minute

mi, n

second

ss, s

millisecond

ms

例如:

SELECT DATENAME(QUARTER,'2016-07-07')  --返回3,代表第三季度

SELECT DATENAME(weekday,'2016-07-07')  --返回‘星期四’

版权声明:若无特殊注明,本文为《星凯博客》原创,转载请保留文章出处。
本文链接:http://www.livesloan.com/post-167.html
正文到此结束

热门推荐

发表吐槽

你肿么看?

你还可以输入 250 / 250 个字

嘻嘻 大笑 可怜 吃惊 害羞 调皮 鄙视 示爱 大哭 开心 偷笑 嘘 奸笑 委屈 抱抱 愤怒 思考 日了狗 胜利 不高兴 阴险 乖 酷 滑稽

评论信息框
可使用QQ号实时获取昵称+头像

私密评论

吃奶的力气提交吐槽中...


既然没有吐槽,那就赶紧抢沙发吧!