使用Oracle的Decode函數(shù)進(jìn)行多值判斷
Decode函數(shù)的語(yǔ)法結(jié)構(gòu)如下:
decode (expression, search_1, result_1)
decode (expression, search_1, result_1, search_2, result_2)
decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n)
decode (expression, search_1, result_1, default)
decode (expression, search_1, result_1, search_2, result_2, default)
decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n, default)
decode函數(shù)比較表達(dá)式和搜索字,如果匹配,返回結(jié)果;如果不匹配,返回default值;如果未定義default值,則返回空值。
以下是一個(gè)簡(jiǎn)單測(cè)試,用于說(shuō)明Decode函數(shù)的用法:
SQL> create table t as select username,default_tablespace,lock_date from dba_users;
Table created.
SQL> select * from t;
USERNAME DEFAULT_TABLESPACE LOCK_DATE
------------------------------ ------------------------------ ---------
SYS SYSTEM
SYSTEM SYSTEM
OUTLN SYSTEM
CSMIG SYSTEM
SCOTT SYSTEM
EYGLE USERS
DBSNMP SYSTEM
WMSYS SYSTEM 20-OCT-04
8 rows selected.
SQL> select username,decode(lock_date,null,"unlocked","locked") status from t;
USERNAME STATUS
------------------------------ --------
SYS unlocked
SYSTEM unlocked
OUTLN unlocked
CSMIG unlocked
SCOTT unlocked
EYGLE unlocked
DBSNMP unlocked
WMSYS locked
8 rows selected.
SQL> select username,decode(lock_date,null,"unlocked") status from t;
USERNAME STATUS
------------------------------ --------
SYS unlocked
SYSTEM unlocked
OUTLN unlocked
CSMIG unlocked
SCOTT unlocked
EYGLE unlocked
DBSNMP unlocked
WMSYS
8 rows selected.
相關(guān)文章
mybatis?調(diào)用?Oracle?存儲(chǔ)過(guò)程并接受返回值的示例代碼
這篇文章主要介紹了mybatis?調(diào)用?Oracle?存儲(chǔ)過(guò)程?并接受返回值,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08win7安裝oracle10g 提示程序異常終止 發(fā)生未知錯(cuò)誤
本文將詳細(xì)介紹oracle 10g 在win7下安裝提示程序異常終止,發(fā)生未知錯(cuò)誤的解決方法,需要的朋友可以參考下2012-12-12Oracle用戶(hù)密碼含特殊字符時(shí)登陸失敗問(wèn)題
當(dāng)Oracle數(shù)據(jù)庫(kù)用戶(hù)的密碼含特殊字符如 @ 時(shí),默認(rèn)會(huì)將@后的字符解析為網(wǎng)絡(luò)服務(wù)名而導(dǎo)致登陸失2014-07-07Linux系統(tǒng)下Oracle數(shù)據(jù)庫(kù)監(jiān)聽(tīng)啟動(dòng)關(guān)閉命令詳解
現(xiàn)在很多朋友在學(xué)習(xí)linux下oracle 數(shù)據(jù)庫(kù)的時(shí)候可能都發(fā)現(xiàn)了一個(gè)問(wèn)題,oracle數(shù)據(jù)庫(kù)的服務(wù)不能自動(dòng)啟動(dòng),這篇文章主要給大家介紹了關(guān)于Linux系統(tǒng)下Oracle數(shù)據(jù)庫(kù)監(jiān)聽(tīng)啟動(dòng)關(guān)閉命令的相關(guān)資料,需要的朋友可以參考下2024-01-01Oracle?sysaux表空間異常增長(zhǎng)的完美解決方法
sysaux表空間會(huì)因?yàn)槎喾N情況而增大,下面這篇文章主要給大家介紹了關(guān)于Oracle?sysaux表空間異常增長(zhǎng)的完美解決方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04