mysql时间函数
说明仅仅查询 不参与索引相关的内容
SELECT DATE_ADD(NOW(),INTERVAL 7 DAY);
SELECT DATE_ADD(NOW(),INTERVAL 7 YEAR);
SELECT DATE_ADD(NOW(),INTERVAL 7 MONTH);
SELECT DATE_ADD(NOW(),INTERVAL 7 HOUR);
SELECT DATE_ADD(NOW(),INTERVAL 7 SECOND);
-- 十小时
SELECT DATE_ADD(NOW(),INTERVAL "10:10" HOUR_MINUTE);
-- 三天后的8小时
SELECT DATE_ADD(NOW(),INTERVAL "3 8" DAY_HOUR);
-- 减少
SELECT DATE_SUB(NOW(),INTERVAL "3 8" DAY_HOUR);
-- 月末
SELECT LAST_DAY(NOW());
-- 2022-03-31
-- 月初
SELECT DATE_SUB(NOW(),INTERVAL DAYOFMONTH(NOW())-1 DAY);
-- 2022-03-01 09:18:38
-- 本月发表的文章
SELECT * from article
WHERE publish_time<=LAST_DAY(NOW())
AND publish_time>=DATE_SUB(NOW(),INTERVAL DAYOFMONTH(NOW())-1 DAY);
-- 3个月内发版的
SELECT * from article
WHERE publish_time>=DATE_SUB(NOW(),INTERVAL 3 MONTH);
-- 前3个月发版的 从1号开始算
SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 3 MONTH),'%Y-%m-01');
-- 上个月的最后一天
SELECT LAST_DAY( DATE_SUB(NOW(),INTERVAL 1 MONTH));
-- 下个月的第一天
SELECT DATE_ADD( LAST_DAY(NOW()),INTERVAL 1 DAY);
SELECT DAYOFWEEK (NOW())
DAYOFWEEK(date)
星期日是1 星期六是7
SELECT WEEKDAY(NOW())
WEEKDAY(date)
-- 算星期几多少号 比如今天是周四 用5
-- 3-当前星期几 =1 DATE_ADD(NOW(),INTERVAL 1 day)
-- 1-7
SELECT DATE_ADD(NOW(),INTERVAL 5-DAYOFWEEK(NOW()) DAY)
-- 0-6
SELECT DATE_ADD(NOW(),INTERVAL 3-WEEKDAY(NOW()) DAY);
-- 3周前的星期四的日期
SELECT DATE_SUB(DATE_ADD(NOW(),INTERVAL 3-WEEKDAY(NOW()) DAY),INTERVAL 21 DAY)
本作品采用《CC 协议》,转载必须注明作者和本文链接
搞了这些索引就失效了呀 :joy: