作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为barcode_log
的表,这些都是表中的数据。
现在如果我运行这个查询
SELECT * FROM `barcode_log` WHERE barcode_log.assign_time BETWEEN DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY) AND CURRENT_DATE;
我得到了这个结果
但它应该返回所有行,因为所有数据都只在这个月内。 assign_time
字段存储为 datetime
。知道我做错了什么吗??
最佳答案
您忽略了 time
部分 (hh:mm:ss
)。
如果结束日期设置为当前日期的结束时间戳,那么您也可以获得当天的数据。
BETWEEN 包含在内
SELECT
*
FROM
`barcode_log`
WHERE
barcode_log.assign_time BETWEEN DATE_SUB(
CURRENT_DATE,
INTERVAL 30 DAY
)
AND TIMESTAMP(CONCAT(CURDATE(),' ','23:59:59'));
关于mysql BETWEEN 日期范围不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39868377/
我是一名优秀的程序员,十分优秀!