今天在对12万条记录的表进行左联接时,有时可以查询出数据,有时会报无效数字,反复检查,发现问题. 例如sql: SELECT * FROM USER U LEFT JOIN USER_ROLE UR ON U.ID=UR.ID 当USER表ID与USER_ROLE表ID类型不一致的话,oracle内部隐式转换有时可以查询出数据, 但有时也会报 ORA-01722:无效数字…
1.问题1 执行下列SQL: sql = "select count(1) as totle from vhl_model_data a where a.OBTAIN_CREATE_TIME between to_date(?,'yyyymmsshh24mi') and to_date(?,'yyyymmsshh24mi');"; Oracle报“无效数字异常”:经过两个钟头的反复的检查,发现是由于自己粗心在上述语句结尾多写了个分号“;”导致.粗心害死人啊!真是囧! 2.问题2 ORA…
ORA-01722 无效数字 以下几种情况,数据库会报“ORA-01722 无效数字”错误: ① 对于两个类型不一致,一个“数字类型”,一个“非数字类型”进行赋值,或者比较操作: ② to_number()函数,括号中的输入的内容为非数字类型,比如‘a’.‘-1-1’. 针对这个函数,可以判断一个输入值是否是数字 .如果是数字,返回1,如果不是,返回0.判断数据输入的合法性时使用. create or replace function "isnumeric"(p_str in varc…