我有一个名为 request
的表,用户提交他们的请求,我想获取当月前 15 天的所有请求的信息,并在 15 天完成后剩下的同月,当我在当月时,每个月都是如此。
SELECT *
FROM request
WHERE req_date >= curdate() - INTERVAL DAYOFWEEK(curdate()) + 15 DAY
AND req_date < curdate() - INTERVAL DAYOFWEEK(curdate())- 1 DAY;
这就是为什么我找到过去几周但基于当前日期的原因,我需要它基于当月的 1 日和同月的 15 日,这样我才能知道在分为 2 个时期的月份发生了什么
最佳答案
这是前 15 个
SELECT * FROM request
WHERE
req_date between CAST(DATE_FORMAT(NOW() ,'%Y-%m-01') as DATE)
and CAST(DATE_FORMAT(NOW() ,'%Y-%m-15') as DATE)
;
这是下半个月的事
SELECT * FROM request
WHERE
req_date between CAST(DATE_FORMAT(NOW() ,'%Y-%m-16') as DATE)
and LAST_DAY(DATE_ADD(NOW(), INTERVAL 1 MONTH))
;
关于mysql - 如何在 mysql 上确定每个月的 1 号和 15 号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41314639/