mysql - 返回 2 个日期之间的行数始终返回 0

标签 mysql sql

不知道是否有爱好者可以帮助我。我试图获取两个日期之间的记录数,我使用在这里找到的一些帖子使这个查询非常简单,它总是返回 0。

date_added 是时间戳

SELECT COUNT(id) 
FROM item 
WHERE date_added >= DATE_SUB(CURDATE(), INTERVAL 30 DAY) AND date_added <= NOW() 

我也尝试过这个:

SELECT COUNT(id) 
FROM item 
WHERE date_added BETWEEN DATE_SUB(CURDATE(), INTERVAL 30 DAY) AND NOW() 

我做错了什么?

最佳答案

使用 DATE(NOW()) 和 DATE(date_added) 比较 mysql 中的日期。它将为您提供时间戳的日期部分。

例如 CURDATE() 是 2008 年 11 月 11 日, NOW() 是 2008-11-11 12:45:34

一个是日期,另一个是时间戳。您应该采用两个日期或两个时间戳。我在上面告诉过一种解决方案。

关于mysql - 返回 2 个日期之间的行数始终返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18039581/

相关文章:

mysql - 如何将存储为负(有符号)bigint 的 MySQL 日期转换为日期格式?

mysql - MySQL 查询出现问题

具有特定词序的 MySQL 全文

android - 从服务器读取和写入数据

mysql - sql列格式化

PHP mysql 创建一个文本文件供下载和数据显示

MySQL 在值更改时插入新行

mysql - 选择 1 个具有复杂过滤的随机行

sql - 将 DB2 查询转换为 Oracle 查询

mysql - SQL LIKE 仅在表的一行上搜索错误