ORA-01722:编号时间无效

时间:2019-01-22 11:27:19

标签: sql oracle time

我正在Oracle中运行下面提到的查询,并且得到 select * from time_checker where to_char(time,'HH24:MI') not between to_char('01:00','HH24:MI') and to_char('02:30','HH24:MI');

for

2 个答案:

答案 0 :(得分:1)

查询的正确版本是

select * from time_checker where time not between 
  to_date('01:00','HH24:MI') and to_date('02:30','HH24:MI');

time是您要检查的字段。因此,理想情况下,您必须将参数'01:00'等转换为列time的数据类型。

如果time列的类型为timestamp,则使用to_timestamp

答案 1 :(得分:0)

to_char (n, fmt)使用格式fmtdocs将n转换为VARCHAR2数据类型的值。

也许您应该使用to_date