一、获取当前时间
SELECT NOW(); //2024-03-11 15:15:10
SELECT CURTIME(); //15:15:10
SELECT CURDATE(); //2024-03-11 15:09:09
- NOW() 返回当前的日期和时间
- CURTIME() 返回当前的时间
- CURDATE() 返回当前的日期
二、时间格式化DATE_FORMAT()
SELECT DATE_FORMAT(NOW() ,'%Y-%m-%d'); //2024-03-11
三、时间的增加和减少
SELECT DATE_ADD('2024/3/11', INTERVAL 1 day); //2024-03-12
SELECT DATE_SUB(NOW(), INTERVAL 1 MONTH); //2024-02-11 15:24:21
- DATE_ADD()给日期添加指定的时间间隔
- DATE_SUB()从日期减去指定的时间间隔
格式:SELECT DATE_SUB(date,INTERVAL expr unit)
四、案例
需求说明:需要查询下次检查时间为今天或者明天的设备
SELECT next_check_time, device_name
FROM devices
WHERE DATE_FORMAT(next_check_time ,'%Y-%m-%d') = CURDATE()
OR DATE_FORMAT(next_check_time, '%Y-%m-%d') = DATE_ADD(CURDATE(),INTERVAL 1 DAY)