mysql DATE_SUB和DATE_ADD(日期间隔函数)

在开发的过程中需要写一个定时任务。来监测哪一个站点儿故障了。就是超过一定得时间没有上传数据。然后认识了两个mysql函数。
DATE_ADD(date,INTERVAL expr type) 函数向日期添加指定的时间间隔。
DATE_SUB(date,INTERVAL expr type) 函数从日期减去指定的时间间隔。

date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。

type的参数类型
MICROSECOND 毫秒
SECOND 秒
MINUTE 分钟
HOUR 小时
DAY 天
WEEK 周
MONTH 月
QUARTER 季度
YEAR 年
SECOND_MICROSECOND 这下边的就不注释了,也就这几个单词。
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH

关于用法:

SELECT DATE_SUB('2020-05-20 13:14:00', INTERVAL 3 DAY)
结果: 2020-05-17 13:14:00

SELECT DATE_SUB('2020-05-20 13:14:00', INTERVAL '3-2' YEAR_MONTH)
结果: 2017-03-20 13:14:00

<!-- 查询超过半个小时没有上传数据的设备 -->
select * from tableName tn join (select MAX(id) id FROM tableName group by sbbh) maxid where tn.createTime < DATE_SUB(NOW(), INTERVAL 30 MINUTE) and tn.id = maxid.id

DATE_ADD的用法跟这个是一样的,只不过一个是加一个是减。
感觉平常还是使用DATE_SUB的会多一点吧。

你可能感兴趣的:(数据库-mysql,sql,数据库)