我在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')
显示“不是有效月份”
任何人都可以帮助我。 我必须查询此专栏。
答案 0 :(得分:1)
因为punchtime
是varchar2数据类型列,
您需要查询:
select * from punch where to_date(punchtime,'hh24:mi:ss') = to_date('01:00:00','hh24:mi:ss')