数据库计算时间差datediff()方法

首先可耻的贴出一段官方看法

http://www.w3school.com.cn/sql/func_datediff.asp

定义和用法

DATEDIFF() 函数返回两个日期之间的天数。

语法

DATEDIFF(datepart,startdate,enddate)

startdate  enddate 参数是合法的日期表达式。

datepart 参数可以是下列的值:

datepart缩写
yy, yyyy
季度qq, q
mm, m
年中的日dy, y
dd, d
wk, ww
星期dw, w
小时hh
分钟mi, n
ss, s
毫秒ms
微妙mcs
纳秒ns

实例

例子 1

使用如下 SELECT 语句:

SELECT DATEDIFF(day,'2008-12-29','2008-12-30') AS DiffDate

结果:

DiffDate
1

例子 2

使用如下 SELECT 语句:

SELECT DATEDIFF(day,'2008-12-30','2008-12-29') AS DiffDate

结果:

DiffDate
-1

 

 上面一段是著名的网页学习网站w3school中有关datediff()方法的描述。但此中却少了一个重要的信息:那就是最大值

 

 使用datediff方法会得到一个long类型的数字,但这个数字对毫秒和秒得出的最大值是有限制的。对于毫秒最大数是24天20小时31分零23.647秒。

对于秒最大数是68年。

如果超过最大值的话,会有如下错误信息显示:Difference of two datetime fields caused overflow at runtime.

之所以标红是因为不遇到一次很难会想到这点,建议尽量用秒就好。

 

转载于:https://www.cnblogs.com/jzzlo/p/3470584.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值