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'
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 |