SQL Server支持丰富的日期减法操作,可以轻松简单地算出两个日期之间的时间间隔。
首先,你可以使用格式化函数DATEDIFF来做日期减法操作,它可以计算出两个日期之间的时间间隔:
//计算出两个日期之间相差多少天
SELECT DATEDIFF (day, '2018-05-01', '2018-06-30')
//计算出两个日期之间相差多少月
SELECT DATEDIFF (month, '2018-05-01', '2018-06-30')
//计算出两个日期之间相差多少年
SELECT DATEDIFF (year, '2018-05-01', '2018-06-30')
上面的例子代码给出的结果分别是:59、1 和 0。
还可以使用SQL Server提供的DateAndTime数据类型来做日期减法运算,它可以方便的计算出剩余的日子数:
SELECT DATEDIFF(day, GETDATE(), '2018-06-30')
这里的GETDATE()语句可以返回当前时间,即2018年5月1日。这个例子的执行结果是59,表明离2018-06-30还剩59天。
同样,你还可以使用函数DATEADD来实现日期减法操作:
SELECT DATEADD(minute, -30, GETDATE())
上面的代码表示将当前时间减去30分钟。
总之,SQL Server有多种不同的日期减法操作,可以帮你快速方便的计算出两个日期之间的时间间隔。