对SQLServer数据的加减函数DateDiff和DateAdd使用分析

本文介绍了SQL SERVER的加减功能,使用DateDiff DateAdd。分享给您参考,如下:

SQL Server的日期加减功能:DATEDIFF DATEADD

DateDiff:返回指定日期的日期跨边界和时间边界的数量。语法:DateDiff(日期部分,开始日期,结束日期)减去日期的结束日期。

注:日期部分的指定日期的计算应采用不同的参数。当日期减少时,只涉及边界值,例如:


选择DateDiff(年,'2008-12-31 ','2009-1-1)


回到1

DateAdd:新的DateTime值是一个时间间隔后返回指定日期。语法:DATEADD(日期部分,数量,日期)

注:日期部分指定的日期部分将新值

数字是用来增加datepart价值。阳性数增加,降低了负数,如果小数点省略,小数部分被忽略了,没有四和五在做。

通过和一些日期DateDiff DateAdd计算

1)一年的第一天


选择DateAdd(年,DateDiff(年,0,getdate()),0)




注意:第一,DATEDIFF(年0,getdate()),计算出当前年和1900之间的差,然后计算1900-1-1加不同年份的日期,这是一年的第一天。

2)一个季节的第一天


选择DateAdd(季度,DateDiff(季度、0,getdate()),0)




注意:第一,DateDiff(季度、0,getdate()),计算当前月份和1900之间的差异,进而计算出的1900-1-1日期加上季节差异。那是本赛季的第一天。

3)一个月的第一天


选择DateAdd(月、DateDiff(月、0,getdate()),0)




注意:第一,DateDiff(月、0,getdate()),计算当前月和1900个月之间的差异,并计算出该1900-1-1日期加上个月数量的差异,这是这个月的第一天。

4)一周的第一天


选择DateAdd(WK,DateDiff(周,0,getdate()),0)




5)中间的一天(00:00:00.000)


选择DateAdd(天,DateDiff(天0,getdate()),0)




6)上个月的最后一天。


选择DateAdd(MS,3,DateAdd(月、DateDiff(月、0,getdate()),0)))




注:这个月的第一天是3毫秒,这是减少,最后一个月的最后一天,the.sql服务器日期型,时间精确到3毫秒。

7)本月最后一天




选择DateAdd(MS,3,DateAdd(月、DateDiff(月、0,getdate())+ 1,0))))



8)本月的天数

我)


选择天(DateAdd(MS,3,DateAdd(月、DateDiff(月、0,getdate())+ 1,0 )))))




二)


选择32-day(getdate()+(32-day(getdate())))))




9)一年的最后一天


选择DateAdd(MS,3,DateAdd(年,DateDiff(年,0,getdate())+ 1,0))))




10)一周的第一天


选择DateAdd(天,1-datepart(平日,getdate()),getdate())




一周的最后一天


选择DateAdd(天,7-datepart(平日,getdate()),getdate())
选择DateAdd(周日,DateDiff(平日、0、DateAdd(天,6-datepart(天,getdate(()),getdate()))),0)




日期转换转换功能

风格。转换参数:108和114只能得到时间。

例子


选择转换(nvarchar(12),getdate(),108),12:41:15
选择转换(nvarchar(12),getdate(),114),12:43:12:590




期判断函数IsDate()判断输入的表达式是一个有效的日期。如果它返回1有效,回报率是0,和返回值是INT.

有关SQL Server感兴趣的读者的详细信息,请参见专用站点:SQL Server的操作日期和时间,SQL Server技巧总结查询操作技巧Daquan

希望本文能帮助您设计SQL Server数据库程序。