php - 时间戳查询未检索到结果?

标签 php mysql

您好 :) 我正在执行一个查询,它将提取时间戳超过 30 天的结果。这是我到目前为止所写的内容:

$result = $db->query("SELECT time FROM table1 WHERE open_time < (NOW() - INTERVAL 30 DAYS)");

正如您所看到的,它将尝试查找超过 30 天的结果,但是当我执行查询时,它不会选择任何行,即使列字段“open_time”已经超过 30 天.

任何建议我都非常感激:)

最佳答案

您是否尝试过转换日期字段?

$result = $db->query("SELECT time FROM table1 WHERE CAST(open_time AS DATE) < (NOW() - INTERVAL 30 DAYS)");

编辑:

也许您应该使用这个棘手的查询:

$result = $db->query("SELECT time FROM table1 WHERE open_time <
UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 DAY))"):

关于php - 时间戳查询未检索到结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34090105/

相关文章:

php - 我如何使用 PHP 将数组插入 mysql?

php - 替代 file_get_contents?

php - 如何在 php5.6 上激活 SOAP

MySQL 查询 : Single Table multiple comparisions

mysql - 如何在DataGrip 中向mysql 添加新的存储过程?

java - 'ps=con.prepareStatement();' 行中未报告的 SQL 异常

javascript - 如何在php中解析javascript数组

PHP 5 秒倒计时(CLI,不是 JavaScript)

mysql从4个表查询包含空记录(已解决: nested select within left join)

mysql - 当计数大于零时选择真