3 回答

TA貢獻(xiàn)1719條經(jīng)驗 獲得超6個贊
可以為sql語句
1.sql語句不能用引號包含起來不會執(zhí)行,會被當(dāng)做字符串來顯示。
如:select decode(1,2,'0','select sysdate from dual') from dual;
結(jié)果:select sysdate from dual
2.直接用括號包含起來可以直接執(zhí)行。
如:select decode(1,2,0,(select 3 from dual)) from dual;
結(jié)果3

TA貢獻(xiàn)1865條經(jīng)驗 獲得超7個贊
運行例子如下:
SQL> SELECT
2 DECODE( 'A', 'A', (SELECT 'A' FROM dual ), (SELECT 'B' FROM dual ) ) A,
3 DECODE( 'B', 'A', (SELECT 'A' FROM dual ), (SELECT 'B' FROM dual ) ) B
4 FROM
5 dual;
A B
-- --
A B
SQL>
要求, 那個 sql 語句, 只能返回 1行1列。

TA貢獻(xiàn)1773條經(jīng)驗 獲得超3個贊
可以的。只是只能出現(xiàn)在select之后。
例:SQL> select decode('1','1','select * fro emp') from dual;
DECODE('1','1','SELECT*FROEMP'
------------------------------
select * fro emp
如果控制判斷不需要decode,改用nvl就可以了。
例如:SQL> select nvl('','Select * from emp') from dual;
NVL('','SELECT*FROMEMP')
------------------------
Select * from emp
- 3 回答
- 0 關(guān)注
- 273 瀏覽
添加回答
舉報