诡异的DECODE函数(二)
C3
---------- -- --------------
1 1
2 2 2
SQL> SELECT DECODE(C1,1,1,2,'E',C1) FROM A;
ERROR:
ORA-01722: 无效数字
未选定行 www.2cto.com
SQL> SELECT DECODE(C1,1,1,2,'E',C1) FROM A WHERE C1=1;
DECODE(C1,1,1,2,'E',C1)
-----------------------
1
SQL> SELECT DECODE(C1,1,1,2,'E',C1) FROM A WHERE C1=2;
SELECT DECODE(C1,1,1,2,'E',C1) FROM A WHERE C1=2
*
第 1 行出现错误:
ORA-01722: 无效数字
上面的问题主要是字符'E'无法转为整数类型导致的。