0

我想查询一个表,其中一列的数据类型为时间戳。

我想用那个特定的列来查询这个表,它的值可以说是 17:00。我怎样才能做到这一点。

此刻,我有这样的语法:

SELECT * FROM TableName WHERE ColumnName = '17:00';

我花了一些时间,但无法弄清楚如何编写语法。

4

2 回答 2

1

如果您想要时间正好是 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 点到毫秒或微秒(或纳秒)。

于 2013-03-14T22:20:33.453 回答
0

这也会帮助你

 select * from schema2.time_stamp_test  t  where t.in_time like '%17:00:00%';

--in_time column_name
于 2013-03-15T07:20:45.100 回答