mysql - 如何在 mysql 上确定每个月的 1 号和 15 号

标签 mysql date

我有一个名为 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/

相关文章:

php - 使用 MySQL 将 CURDATE() 转换为我的本地日期

mysql - 多种条件下的独特值(value)

mysql - 我已经有一个带有 EC2 的 RDS (Mysql) 数据库,我是否需要为 Elastic Beanstalk 创建一个新数据库?

mysql - 选择最具体的连接结果

c# - DateTime.TryParse 如何知道日期格式?

php - 如何比较 php 变量与 mysql 中的日期列?

Python 识别(转换)文本到最新

php - UTF-8贯穿始终

php - 为用户显示适当的错误消息

java - 如何将日期字符串解析为日期?