SQL> select (if j<0 then j else 100 end) from (select count(*) j from a);
select (if j<0 then j else 100 end) from (select count(*) j from a)
*
ERROR 位于第 1 行:
ORA-00907: 缺少右括号
已用时间: 00: 00: 00.00
SQL> select (case when j<0 then j else 100 end) from (select count(*) j from a);
(CASEWHENJ<0THENJELSE100END)
----------------------------
100
已用时间: 00: 00: 00.00
SQL> select decode((j-0),0,j,200) from (select count(*) j from a);
DECODE((J-0),0,J,200)
---------------------
200
已用时间: 00: 00: 00.00
SQL> select decode(sign(j-0),1,j,0,'no result',-1,200) from (select count(*) j f
rom a);
DECODE(SIGN(J-0),1,J,0,'NORESULT',-1,200)
-----------------------------------------
3
已用时间: 00: 00: 00.00
SQL>