关于MySQL查询,从日期落在当前周和当前月份的表中选择数据,可以使用以下SQL语句:
SELECT * FROM 表名
WHERE 日期字段 >= DATE_SUB(CURDATE(), INTERVAL (DAYOFWEEK(CURDATE()) - 1) DAY)
AND 日期字段 <= DATE_SUB(CURDATE(), INTERVAL (DAYOFWEEK(CURDATE()) - 7) DAY)
AND 日期字段 >= DATE_FORMAT(NOW(),'%Y-%m-01')
AND 日期字段 <= LAST_DAY(NOW())
其中,表名
为要查询的表名,日期字段
为表中的日期字段名。
解释:
DATE_SUB(CURDATE(), INTERVAL (DAYOFWEEK(CURDATE()) - 1) DAY)
:获取当前周的开始日期,即本周一的日期。DATE_SUB(CURDATE(), INTERVAL (DAYOFWEEK(CURDATE()) - 7) DAY)
:获取当前周的结束日期,即本周日的日期。DATE_FORMAT(NOW(),'%Y-%m-01')
:获取当前月份的开始日期,即本月的第一天。LAST_DAY(NOW())
:获取当前月份的结束日期,即本月的最后一天。以上SQL语句的作用是,在表中查询日期字段在当前周和当前月份的所有数据。
领取专属 10元无门槛券
手把手带您无忧上云