嗨那里:)我正在进行查询,它会在时间戳超过30天的情况下提取结果。这是我到目前为止所做的:
$result = $db->query("SELECT time FROM table1 WHERE open_time < (NOW() - INTERVAL 30 DAYS)");
正如您所看到的,它将尝试查找超过30天的结果,但是当我执行查询时,它不会选择任何行,即使列字段“open_time”超过30天
我做的任何建议都非常感谢:)
答案 0 :(得分:1)
您是否尝试过投射日期字段?
$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))"):
答案 1 :(得分:1)
尝试此查询
$result = $db->query("SELECT time FROM table1 WHERE DATE(`date`) = DATE(NOW() - INTERVAL 30
DAY")
或
尝试这个也供你参考
SELECT * FROM table WHERE `date` > timestampadd(day, -30, now());