【发布时间】:2020-08-08 21:26:22
【问题描述】:
我有一个表格,其中一列上有字符串,字符串的格式是 ISO 8601(带 TZ)。
当我尝试运行以下查询时:
select * from `orders` where STR_TO_DATE('last_ship_date', '%Y-%m-%dT%TZ') >= STR_TO_DATE('2020-06-27 21:13:14', '%Y-%m-%d %h:%i:%s')
我没有结果,即使我在:“last_ship_date”列中具有相同格式和范围的日期(6 月 27 日之后),例如:2020-08-09T06:59:59Z
我在这里缺少什么?为什么 STR_TO_DATE 转换后无法选择行?
谢谢。
【问题讨论】:
-
如果日期存储为 ISO 8601,您可以在不调用
STR_TO_DATE()的情况下进行比较。
标签: mysql sql phpmyadmin query-optimization where-clause