mysql datediff函数怎么用_SQL中datediff函数有哪些用途呢?

摘要:

下文讲述SQL中datediff函数的用途,如下所示:

datediff函数功能说明:

datediff用于返回两个日期之间的差值,返回单位可以为(年、月、日、小时、分钟、秒、毫秒等等)

下文通过举例的方式讲述datediff的用法,如下所示:

方法1:计算两个日期之间的天数

SELECT DATEDIFF(day, '2019-12-01', '2019-12-03')

AS [天数之差];

DECLARE @date1 datetime2 = '2019-12-01';

DECLARE @date2 datetime2 = DATEADD(year, 1, @date1);

SELECT

DATEDIFF( year, @date1, @date2 ) AS Years,

DATEDIFF( quarter, @date1, @date2 ) AS Quarters,

DATEDIFF( month, @date1, @date2 ) AS Months,

DATEDIFF( week, @date1, @date2 ) AS Weeks,

DATEDIFF( dayofyear, @date1, @date2 ) AS DayOfYear,

DATEDIFF( day, @date1, @date2 ) AS Days;

例3:返回两个日期之间的小时、分钟、秒信息

DECLARE @date1 datetime2 = '2012-12-08 00:00:00.0000000';

DECLARE @date2 datetime2 = DATEADD(hour, 1, @date1);

SELECT

DATEDIFF( hour, @date1, @date2 ) AS Hours,

DATEDIFF( minute, @date1, @date2 ) AS Minutes,

DATEDIFF( second, @date1, @date2 ) AS Seconds;

例4:返回两个日期之间的毫秒、微秒和纳秒数

DECLARE @date1 datetime2 = '2012-12-08 00:00:00.0000000';

DECLARE @date2 datetime2 = DATEADD(millisecond, 1, @date1);

SELECT

DATEDIFF( millisecond, @date1, @date2 ) AS Milliseconds,

DATEDIFF( microsecond, @date1, @date2 ) AS Microseconds,

DATEDIFF( nanosecond, @date1, @date2 ) AS Nanoseconds;

注意事项:

datediff返回值最大值为int,当两个日期之间的差值超过int的最大值,则无法返回相应的结果,并返回错误信息

此时我们需使用datediff_big函数代替datediff函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值