我需要从MySQL数据库中选择当月第一天和当天之间的数据.

select*from table_name 
where date between "1st day of current month" and "current day"

有人能提供这个查询的工作示例吗?

推荐答案

select * from table_name 
where (date between  DATE_ADD(LAST_DAY(DATE_SUB(CURDATE(), interval 30 day), interval 1 day) AND CURDATE() )

或者更好:

select * from table_name 
where (date between  DATE_FORMAT(NOW() ,'%Y-%m-01') AND NOW() )

Mysql相关问答推荐

MySQL如何通过外键ID选择多行?

如何显示患者预约中的专业人员姓名?

保存SQL查询的中间结果

非常规字符的不正确字符串值错误

我在查询中没有得到正确的结果

MySQL 查询组按日期(12 小时间隔)

如果我创建一个没有主键的表然后添加一个主键,主键是聚集索引吗?

如何通过未知列中的唯一值有效地更新 MySQL 行

MySQL - 计算行重复的最大计数

mysql从另一个表中选择不相等的值

为什么 ORDER BY 'id' 'desc' 不返回语法错误?

Spring Boot:Jdbc javax.net.ssl.SSLException:在接收对等方的 close_notify 之前关闭入站

是否可以在 macOS 上只安装 mysqldump

不支持扫描,将 driver.Value 类型 []uint8 存储到 *time.Time 类型中

如何解决 mysql 警告:“InnoDB:page_cleaner:1000ms 预期循环花费了 XXX 毫秒.设置可能不是最佳的”?

Sequelize:销毁/删除表中的所有记录

docker-entrypoint-initdb 中的 MySQL 脚本未执行

使用 php 和 mysql 的通知系统

的表存储引擎在按查询排序时没有此选项(错误 1031)

MySQL:判断用户是否存在并将其删除