-1

我在 oracle 'punch' 中有一个存储打孔数据的表。'punchtime' 列将数据作为 varchar2 并存储时间(如 20:30:00)。当我想按打孔时间对数据进行排序时,我使用此查询

 select * from punch order by to_date(punchtime,'hh24:mi:ss')

这完美地工作。但是下面的查询不起作用

select * from punch where punchtime = to_date('01:00:00','hh24:mi:ss')

它显示“不是一个有效的月份”

谁能帮帮我吗。我必须查询此列。

4

1 回答 1

1

由于punchtime是 varchar2 数据类型列,您需要查询:

select * from punch where to_date(punchtime,'hh24:mi:ss') = to_date('01:00:00','hh24:mi:ss')
于 2013-10-10T06:23:13.157 回答