【发布时间】:2021-03-24 22:13:58
【问题描述】:
我有一个表,其中有一个 datetime 列,如下所示:
---------------------
| date_time_column |
---------------------
| 2020-09-14 14:00:13 |
| 2020-05-18 14:00:13 |
| 2021-12-14 14:00:13 |
---------------------
当我进行这些查询时
select * from `table`
where TIMESTAMP('date_time_column') < '2020-12-14 10:20:04'
但结果是什么都没有
【问题讨论】:
-
这只是因为您的客户端没有显示值的完整分辨率(一些毫秒部分)。因此,它们都不完全等于您请求的时间。尝试在 10:20:04 到 10:20:05 之间获取。
-
您希望从此查询返回什么?
-
如果在 where 条件下使用完整的 datetime 则无需使用 TIMESTAMP,只需使用此 select * from
tablewhere date_time_column -
'date_time_column' 是一个字符串。也许你在想`date_time_column`
-
您是否尝试过调试您的查询?
select *, timestamp('date_time_column') from table产生了什么?另外,你能分享一下你的表的架构吗?
标签: mysql sql string datetime where-clause