对SQLServer数据的加减函数DateDiff和DateAdd使用分析
发布网友
发布时间:2024-08-20 16:40
我来回答
共1个回答
热心网友
时间:2024-08-24 03:35
本文介绍了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数据库程序。