我正在尝试从mysql表my\u table和php文件中的列last\u updated\u time中选择超过x天的记录。我试过各种组合。我的“上次更新时间”列是varchar而不是date类型。
我的select语句如下所示:
$sql = "SELECT * FROM my_table WHERE str_to_date(Last_updated_time, '%d/%m/%Y') < DATE_SUB(NOW(), INTERVAL X DAY) AND Place='So_and_So' ";
我甚至试过这个:
$sql = "SELECT * FROM my_table WHERE (Last_updated_time < NOW() - INTERVAL X DAY) AND Place=' So_and_So' ";
我使用结果作为json发送,以便在android文件中进行解析。
请帮帮我。我找了那么多。谢谢。
1条答案
按热度按时间mcvgt66p1#
这应该起作用:
您确定上次更新时间的格式是dd/mm/yyyy吗?如果不是,则应更改“%m/%d/%y”部分。
对不起,编辑太多了,我一直搞砸了
最后一次编辑:
您真的应该考虑将上次更新的时间字段更改为日期类型。您可以创建一个临时列,并用这样的内容更新整个表。
然后可以删除旧列并将新列重命名为旧列名。这将大大加快搜索速度,因为str\u to\u日期非常慢。当然,如果需要的话,你也应该修改你的代码。如果可以的话,总是寻求更快/永久的解决方案!