我想查询一个表,其中一列的数据类型为时间戳。
我想用那个特定的列来查询这个表,它的值可以说是 17:00。我怎样才能做到这一点。
此刻,我有这样的语法:
SELECT * FROM TableName WHERE ColumnName = '17:00';
我花了一些时间,但无法弄清楚如何编写语法。
如果您想要时间正好是 17:00:00.000000000 的任何一天的数据
SELECT *
FROM tableName
WHERE EXTRACT( hour FROM columnName ) = 17
AND EXTRACT( minute FROM columnName ) = 0
AND EXTRACT( second FROM columnName ) = 0
如果您通过获取当前时间戳(这是最常见的方法)来填充此列,我不希望这会找到任何东西。根据生成时间戳的平台,当前时间极不可能是下午 5 点到毫秒或微秒(或纳秒)。
这也会帮助你
select * from schema2.time_stamp_test t where t.in_time like '%17:00:00%';
--in_time column_name