MySQL的时间函数timestampdiff、datediff、timediff、date_add()、date_sub()

 1、timestampdiff函数

有参数设置,可以精确到天(DAY)、小时(HOUR),分钟(MINUTE)和秒(SECOND),使用起来比datediff函数更加灵活。对于比较的两个时间,时间小的放在前面,时间大的放在后面。

# 相差1天
select TIMESTAMPDIFF(DAY, '2018-03-20 23:59:00', '2015-03-22 00:00:00');
# 相差49小时
select TIMESTAMPDIFF(HOUR, '2018-03-20 09:00:00', '2018-03-22 10:00:00');
# 相差2940分钟
select TIMESTAMPDIFF(MINUTE, '2018-03-20 09:00:00', '2018-03-22 10:00:00');
# 相差176400秒
select TIMESTAMPDIFF(SECOND, '2018-03-20 09:00:00', '2018-03-22 10:00:00');

# 查询办理时间和上传时间相差超过10分钟的
select a.*,blsj,scsj 
from SPGL_XMSPSXBLXXXXB a
where timestampdiff( MINUTE, blsj, scsj ) > 10
and blsj >= '2022-01-24 00:00:00' and blsj <= '2022-01-31 00:00:00'

2、datediff函数

        返回值是相差的天数,不能定位到小时、分钟和秒。

# 相差2天
select datediff('2018-03-22 09:00:00', '2018-03-20 07:00:00');

3、timediff(time1,time2)

        两个时间相减 time1减time2,返回差值。

select timediff('2019-06-03 12:30:00', '2019-06-03 12:29:30');
# 等同于
select timediff('12:30:00', '12:29:30');

4、date_add('某个日期时间',interval 1 时间种类名)、date_sub()

# quarter:季,week:周,day:天,hour:小时,minute:分钟,second:秒,microsecond:毫秒
select date_add(@dt, interval 1 year);    # 加1年
select date_add(@dt, interval 1 month);   # 加1月
# 注:也可以不用变量,直接加减某个时间,如:
select date_add('1998-01-01', interval 1 day);



  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值