Oracle 报 "invalid number" 错误通常是因为数据类型不匹配或转换失败。 Oracle 数据库在执行 SQL 语句时,如果遇到数据类型不匹配或无法正确转换的情况,就会抛出 "invalid number" 错误。以下是一些常见的原因和解决方法: 常见原因 数据类型不匹配: 在SQL 语句中,尝试将非数值类型的字段或变量与数值类型进行比较或运...
SELECT TO_NUMBER('1,234.56', '999D99', 'NLS_NUMERIC_CHARACTERS='',.''') FROM DUAL; 6. 使用其他函数 在某些情况下,可以考虑使用其他函数,如REGEXP_REPLACE或TRANSLATE,来预处理字符串,使其更容易被TO_NUMBER处理。 7. 日志记录和调试 在处理INVALID NUMBER异常时,记录详细的日志信息有助于调试和找出问...
SQL Error: 1722, SQLState: 42000 ORA-01722: invalid number 但在用hibernate时,为了避免数字问题,我们经常会这样写hsql语句:String sql = 'select * from ctEntity as ct where ct.Nos = ''+no+''';当传入参数no为‘4,5’时,可能不会报错,但当no为'4'或'5'时,也就是单个数字时...
Oracle-ORA-01722invalidnumber错误忽然有⼀天,好好的系统报错:ORA-01722 invalid number 环境:Oracle9 + JDBC访问数据库,之前是好的,忽然发现这个错误 1. 代码⾥⾯执⾏了如下SQL语句:select mdn from tablename where mdn=138*** tablename表⾥⾯的mdn字段是varchar2()类型字段,由于Oracle的字段...
oracle触发器 ORA-01722:invalid number 解决方法 问题在于,远程库是nvarchar2类型,本地是number类型,同步的时候有问题。 createorreplacetriggertri_org_department afterinsertorupdateonbjlt.sys_orgforeach rowdeclarev_uuidvarchar2(36); v_idvarchar2(36);beginv_uuid:=sys_guid();...
开发人员说系统报错:ORA-01722 invalid number 1. 代码里面执行了如下SQL语句: 1:select*fromgl_code_combinations gccwheregcc.segment4=41030000; gl_code_combinations表里面的segment4字段是varchar2()类型字段,由于Oracle的字段类型隐式转换功能上面的SQL语句通常是可行的,查询的时候oracle解析该条件时,会首先to_ch...
oracle中的invalid number误解 今天在查询时出现了“invalid number”错误,⼀开始以为是数据出了问题,核对了所有数据后没发现问题,后来才发现是sql语句出了问题:举例如下:a为表名,id为字段,字符型 原sql:select * from a where id=3 此时出现了上⾯的问题,原来是ORACLE将where id=3解释为where to_...
忽然有一天,好好的系统报错:ORA-01722 invalid number 环境:Oracle9 + JDBC访问数据库,之前是好的,忽然发现这个错误 后来参考了:http://davidyu720.itpub.net/post/31716/291191才知道缘由 1. 代码里面执行了如下SQL语句: select mdn from tablename where mdn=13800000000 ...
ORA-01722 invalid number很容易理解,无须多言,一般发生在显式的to_number()类型转换的参数错误时。 前几天我也遇到了一个由于直觉作怪而差点被忽略了的ORA-01722错误。 http://davidyu720.itpub.net/post/31716/291191http://davidyu720.itpub.net/post/31716/291191 ...
忽然有一天,好好的系统报错:ORA-01722 invalid number 环境:Oracle9 + JDBC访问数据库,之前是好的,忽然发现这个错误 后来参考了:http://davidyu720.itpub.net/post/31716/291191才知道缘由 1. 代码里面执行了如下SQL语句: select mdn from tablename where mdn=13800000000 ...