2017/12/07
ORACLEのその他単一行関数のリファレンスです。
※当ページにおいて、検索結果イメージの半角スペースは【_】、NULLは【NULL】と表現しています。
sponsored link
COALESCE
文法
COALESCE(引数1,引数2,…)
戻り値
引数1と同じ型
説明
指定された引数の最初のNULLでない値を戻す
全ての引数がNULLの場合、NULLを戻す
1 2 3 4 5 6 7 8 9 10 11 12 13 |
SELECT a ,b ,c ,COALESCE(a,b,c) func FROM test_table ; A B C FUNC ----- ----- ----- ----- ABC DEF GHI ABC NULL DEF GHI DEF NULL NULL GHI GHI NULL NULL NULL NULL |
DECODE
文法
DECODE(引数1,引数2,引数3,…)
戻り値
引数3と同じ型
説明
引数1と引数2を比較し一致した場合、引数3を戻す
一致しない場合、引数1と引数4を比較し一致した場合、引数5を戻す
一致しない場合、引数1と引数6を比較し一致した場合、引数7を戻す
以下同様
全て一致しない場合、末尾の引数が偶数番の場合は、末尾の引数の値を戻す
奇数番の場合は、NULLを戻す
引数は最大255個まで指定可能
1 2 3 4 5 6 7 8 9 10 11 |
SELECT a ,DECODE(a,'ABC',1,'DEF',2) func1 ,DECODE(a,'ABC',1,'DEF',2,3) func2 FROM test_table ; A FUNC1 FUNC2 ----- ----- ----- ABC 1 1 DEF 2 2 GHI NULL 3 |
備考
NULLの比較も可能
1 2 3 4 5 6 7 8 9 |
SELECT a ,DECODE(a,NULL,1,2) func FROM test_table ; A FUNC ----- ----- ABC 2 NULL 1 |
GREATEST
文法
GREATEST(引数1,…)
戻り値
引数1と同じ型
説明
指定した引数の中で、最大の値を戻す
引数は最大255個まで指定可能
1 2 3 4 5 6 7 8 9 10 |
SELECT a ,b ,c ,GREATEST(a,b,c) func FROM test_table ; A B C FUNC ----- ----- ----- ----- 1 2 3 3 |
備考
引数の中にNULLが存在する場合、NULLを戻す
1 2 3 4 5 6 7 8 9 10 |
SSELECT a ,b ,c ,GREATEST(a,b,c) func FROM test_table ; A B C FUNC ----- ----- ----- ----- 1 NULL 3 NULL |
LEAST
文法
LEAST(引数1,…)
戻り値
引数1と同じ型
説明
指定した引数の中で、最小の値を戻す
引数は最大255個まで指定可能
1 2 3 4 5 6 7 8 9 10 |
SELECT a ,b ,c ,LEAST(a,b,c) func FROM test_table ; A B C FUNC ----- ----- ----- ----- 1 2 3 1 |
備考
引数の中にNULLが存在する場合、NULLを戻す
1 2 3 4 5 6 7 8 9 10 |
SELECT a ,b ,c ,LEAST(a,b,c) func FROM test_table ; A B C FUNC ----- ----- ----- ----- 1 NULL 3 NULL |
NULLIF
文法
NULLIF(引数1,引数2)
戻り値
引数1と同じ型
説明
引数1と引数2を比較し、同じ場合NULLを戻す
異なる場合は、引数1の値を戻す
1 2 3 4 5 6 7 8 9 10 |
SELECT a ,b ,NULLIF(a,b) func FROM test_table ; A B FUNC ----- ----- ----- 1 2 1 1 1 NULL |
備考
引数1と引数2の型が異なる場合エラーとなる
1 2 3 4 5 |
SELECT NULLIF('ABC',1) func FROM test_table ; ORA-00932: データ型が一致しません: CHARが予想されましたがNUMBERです。 |
NVL
文法
NVL(引数1,引数2)
戻り値
引数1と同じ型
説明
引数1がNULL以外の場合は、引数1の値を戻す
NULLの場合は、引数2の値を戻す
1 2 3 4 5 6 7 8 9 10 11 |
SELECT a ,b ,NVL(a,b) func FROM test_table ; A B FUNC ----- ----- ----- 1 2 1 3 NULL 3 NULL 6 6 |
NVL2
文法
NVL2(引数1,引数2,引数3)
戻り値
引数2と同じ型
説明
引数1がNULL以外の場合は、引数2の値を戻す
NULLの場合は、引数3の値を戻す
1 2 3 4 5 6 7 8 9 10 11 |
SELECT a ,b ,c ,NVL2(a,b,c) func FROM test_table ; A B C FUNC ----- ----- ----- ----- 1 2 3 2 NULL 5 6 6 |