oracle中 DECODE函数与ORA-01722: invalid number

decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)

1、值1……值n 必须是同一类型
2、翻译值1……翻译值n 必须是同一类型
3、Oralce会自动将翻译值2……翻译值n和缺省值的类型转换成与翻译值1相同的类型
4、如果翻译值2……翻译值n和缺省值中有不能转换成与翻译值1相同的类型,则报错:ORA-01722: invalid number。

例如:翻译值1为number类型,后面的翻译值或缺省值中有字符型值,则报ORA-01722: invalid number。

可以通过to_char等转换函数转换成统一类型。

你可能感兴趣的:(oracle)