SQLDateAdd函数是用来在一段SQL语句中通过加减时间来得到指定日期的一种函数。它由Microsoft公司发布,用于Microsoft SQL Server 2004和更高版本中,可用于几乎所有的日期格式,用于将指定为interval 加到日期中。
(1)语法:
SQLDateAdd (interval, number, datepart)
(2)参数说明:
interval: 必需。具有指定间隔的字符串表达式,它在number中指定的逻辑单位中移动日期与时间值。
number: 必需。表示在interval中指定的时间间隔中,要加上多少单位。这可以是任何Long Integer,任何正值可以增加给定的日期,任何负值将减少给定的日期。
datepart:必需。表示要加减的日期部分的字符串表达式,允许的参数如下:yy, q, m, yyyy, d, w, ww, h, n, s。
(3)SQLDateAdd基本用法:
SQLDateAdd(“d”,1,GETDATE()):在当前日期上增加1天
SQLDateAdd(“w”,1,GETDATE()):在当前日期上增加1周
SQLDateAdd(“m”,1,GETDATE()):在当前日期上增加1月
(4)SQLDateAdd应用示例:
(1)查找距离现在六个月以后的日期:
SELECT SQLDateAdd(“m”,6,GETDATE())
(2)查找两个日期之间的天数:
SELECT datediff(day,orderDate,shipDate)
(3)查找比现在早三天的日期:
1、SQLDateAdd函数是SQL Server中常用的一个内置函数,它的作用是将指定的日期和时间值加上一个指定的日期时间间隔,生成一个新的日期和时间值。
2、SQLDateAdd函数的语法格式如下:
SQLDateAdd(interval,number,date)
其中,interval:包括yy、qy、mm、dy、hh、mi、ss、ms等,分别表示年、季度、月、日、小时、分钟、秒、毫秒;
number:表示要加的日期时间间隔,以interval为单位;
date:表示要加的日期时间,以yyyy-mm-dd hh:mi:ss格式来表示。
3、SQLDateAdd函数的用法举例如下:
比如,我们要求加1个小时,
例:SELECT SQLDateAdd(hh,1,’2018-05-23 17:00:00’)
将得到’2018-05-23 18:00:00’作为结果。
4、SQLDateAdd函数的用处是广泛的,它可以帮助我们更灵活地处理日期和时间值。从中可以清晰地看到,SQL语言 join 和 group by 子句中可以使用此函数,而且还可以在save statement,用于生成代码中添加这类功能。应用范围很广,比如:
(1)有时候需要查询最近一个月及历史数据,SQLDateAdd函数可以实现跨月的查询;
(2)对数据做按周、按月的汇总统计;
(3)有些数据需要定时获取,比如某天的报表,可以使用SQLDateAdd函数,实现定时任务;
(4)使用SQLDateAdd函数,可以计算出某个时间段的日期,实现分页查询;
(5)使用SQLDateAdd函数,还可以实现今天、本周、本月、上月等区间查询,以及某一时间段前后几天几月几年等查询。