sql server计算两个日期之间差值的datediff()函数

摘要:
SQLServer中提供了一个DATEDIFF()函数用来计算两个日期之间的差值。DATEDIFF其中,datepart参数表示要计算差值的部分,startdate参数表示要计算差值的开始日期(被减数),enddate参数表示要计算差值的结束日期(减数)。用于分隔两个日期/时间实例的日期部分的数字太大。请尝试使用日期部分精度较低的datediff。

SQL Server中提供了一个DATEDIFF()函数用来计算两个日期之间的差值。

DATEDIFF(datepart, startdate, enddate)

其中,datepart参数表示要计算差值的部分,startdate参数表示要计算差值的开始日期(被减数),enddate参数表示要计算差值的结束日期(减数)。

SELECT DATEDIFF(day, '2019-05-20', '2019-05-22'); --2

datepart参数提供了多个候选值,方便计算各个日期部分的差值。

datepart缩写全称
yy, yyyyyear
季度qq, qquarter
mm, mmonth
年中的日dy, ydayofyear
dd, dday
wk, wwweek
星期dw, wweekday
小时hhhour
分钟mi, nminute
ss, ssecond
毫秒msmillisecond
微妙mcsmicrosecond
纳秒nsnanosecond

这里的精度从上往下依次提高,精度越大,时间范围应该设置的越小,否则会报【[S0000][535] datediff 函数导致溢出。用于分隔两个日期/时间实例的日期部分的数字太大。请尝试使用日期部分精度较低的 datediff。】这样的错误。

SELECT DATEDIFF(yy, '2019-05-20', '2020-05-22'); --1

另外,如果要计算差值的开始日期和要计算差值的结束日期中,指定的计算部分为开始日期大于结束日期,则返回结果是负数。

SELECT DATEDIFF(yy, '2023-05-20', '2020-05-22'); ---3

"因为经历过了,所以才波澜不惊。"

免责声明:文章转载自《sql server计算两个日期之间差值的datediff()函数》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇批处理bat脚本自动配置java的jdk环境变量TMMi成熟度级别和过程域下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

sql 加减时间

引用:http://www.2cto.com/database/201110/107788.html 1. MySQL 为日期增加一个时间间隔:date_add() set @dt = now(); select date_add(@dt, interval 1 day); - 加1天 select date_add(@dt, interval 1 hou...

oracle sql日期比较:

共三部分: 第一部分:oracle sql日期比较: http://www.blogjava.net/forker/archive/2007/09/07/143467.html#Post 第二部分:Oracle获取当前日期及日期格式 http://blog.sina.com.cn/s/blog_6168ee920100l2ye.html 第三部分: 获取昨...

sql server中部分函数功能详解

1.TOP 子句 TOP 子句用于规定要返回的记录的数目。 对于拥有数千条记录的大型表来说,TOP 子句是非常有用的。 SQL Server 的语法: SELECT TOP number|percent column_name(s) FROM table_name 2.’%%’查询 我们希望从上面的 "Persons" 表中选取居住的城市以 "A" 或...

SQL SERVER按照时间查询今天、明天、几天前的数据

今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0昨天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=17天内的所有数据:select * from 表名 where DateDiff(dd...

SQL Server获取连续区间的日期

目前实现方法有: 通过系统表master..spt_values获取 用WHILE循环获取 游标获取 CTE递归(感谢博友提供) 方法一:通过系统表master..spt_values获取 1、获取连续的日 -- 获取连续区间的日期 DECLARE @StartTime DATE = '2019-03-08', -- 开始时间 @End...

SQL Server日期时间函数

间函数  1、获取当前日期GetDate    getdate()函数以datetime数据类型的格式返回当前SQLServer服务器所在计算机的日期和时间。其语法格式为getdate()。返回值舍入到最近的秒小数部分,精度为.333秒数据库十七偏移量不包含在内。      示例:   select getdate() --输出 2013-03-09 1...