首页 > 解决方案 > ORA-01722: 无效号码 #time

问题描述

我在我的 Oracle 中运行下面提到的查询,我得到ORA-01722: invalid number #time.

  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');

标签: sqloracletime

解决方案


查询的正确版本是

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

time是您正在检查的字段。所以理想情况下,您必须将参数 '01:00' 等转换为 column 的数据类型time

如果timecolumn 是 type timestamp,则使用to_timestamp.


推荐阅读