MySQL检查文本日期是否在两个日期之间

标签 mysql sql date

我需要检查数据库中的日期是否介于两个日期之间。数据库中的列采用以下格式:

March 2015

我要创建的 sql 查询是这样的,但它不起作用:

select * from table where timesheet_report_month between 'November 2014' and 'March 2015'

最佳答案

使用STR_TO_DATE()将这些字符串转换为日期。然后您可以利用 MySQL 的日期功能:

select * 
from table 
where STR_TO_DATE(timesheet_report_month, '%M %Y') 
    between '2014-11-01' and '2015-03-31'

参见 DATE_FORMAT()用于格式说明符。

关于MySQL检查文本日期是否在两个日期之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28949164/

相关文章:

mysql - SQL 新手,插入 'TABLE' 错误

python - 将Scrapy for Python项目添加到MYSQL时出现中文字符编码问题

sql - 如何将嵌套的 json 键/值对展平为单个值数组?

excel - 如何在Excel中将两种不同的日期格式更改为单一日期格式

sql - 在 SQL 中如何仅返回匹配日期和月份的记录(忽略年份)

php - MySQL 时间序列数据库,跟踪数量/价格/数据历史记录 — 仅当新值与前一个值不同时才插入新行?

mysql - MySQL,删除旧数据,在线更改计算机时钟时间

sql - 列出所有数据库的所有过程中引用的所有列

php - SQL 绑定(bind)参数喜欢查询不起作用

java - 如何格式化日期以在 URL 中用作参数