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

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 8.0.28覆盖(和函数)索引未使用

如何重新采样SQL数据库

MySQL问题难以将文本字符串转换为正确的日期格式

MySQL:统计单词在单元格中出现的次数,并将数字放在bra中单词的旁边

如何使用GROUP BY调优简单SQL查询

Mysql - Select 匹配某些条件的两条记录之间经过的最大天数

我是否需要在 N+1 列上建立索引,才能有效地在 N 列上执行 SELECT,并按其他列排序?

Eloquent:通过国外模型得到平均分

如何进行查询以在两个不同的列中搜索两个不同的数据字符串?

时间戳上滚动窗口的 SQL 计数不同

为两个中的每一个 Select 最大和最小传递条件

使用 autocommit = 0 和 InnoDB 表的 LOCK TABLES 检测死锁

SQL使用LIMIT获取结果和结果中的行数

获取 MySQL 中每一行之间负差的总和

mysql 5.5;可以从记录中排除表吗?

Sequelize Query 查找日期范围内的所有记录

为什么 MySQL 自动增量会在插入失败时增加?

你能推荐一个免费的 Linux 轻量级 MySQL GUI 吗?

如何将具有相同列值的mysql行分组为一行?

PHP MYSQL - 插入不使用列名但使用自动增量字段