当前位置: 代码迷 >> SQL >> sqlserver日期处置函数
  详细解决方案

sqlserver日期处置函数

热度:45   发布时间:2016-05-05 13:54:10.0
sqlserver日期处理函数

函数确定性
DATEADD具有确定性
DATEDIFF具有确定性
DATENAME不具有确定性
DATEPART除了用作 DATEPART (dw, date) 外都具有确定性。dw 是工作日的日期部分,取决于由设置每周第一天的 SET DATEFIRST 所设置的值。
DAY具有确定性
GETDATE不具有确定性
GETUTCDATE不具有确定性
MONTH具有确定性(截取月份)
YEAR具有确定性(截取年)

?

?

DATEDIFF 函数 [日期和时间]

功能
返回两个日期之间的间隔。

语法
DATEDIFF ( date-part, date-expression-1, date-expression-2 )

date-part :
year | quarter | month | week | day | hour | minute | second | millisecond

参数
date-part??? 指定要测量其间隔的日期部分。(可以理解为要返回数值的单位)

用法

例:根据生日计算年龄

DATEDIFF ( date-part, birthday,getdate())

?

比较有代表性的用法例子如下:

SELECT datediff( hour, '4:00AM', '5:50AM' )下面的语句返回 102:

SELECT datediff( month, '1987/05/02', '1995/11/15' )下面的语句返回 0:

SELECT datediff( day, '00:00', '23:59' )下面的语句返回 4:

SELECT datediff( day,
?? '1999/07/19 00:00',
?? '1999/07/23 23:59' )下面的语句返回 0:

SELECT datediff( month, '1999/07/19', '1999/07/23' )下面的语句返回 1:

SELECT datediff( month, '1999/07/19', '1999/08/23' )

?

对于更小的时间单位存在溢出值:

milliseconds??? 24 天

seconds??? 68 年

minutes??? 4083 年

?

*******************************************************************************

SELECT DATEPART(month, GETDATE()) AS 'Month Number'

日期部分缩写
yearyy, yyyy
quarterqq, q
monthmm, m
dayofyeardy, y
daydd, d
weekwk, ww
weekdaydw
Hourhh
minutemi, n
secondss, s
millisecondms
  相关解决方案