サイトアイコン こじりふぁ

NVL、NVL2、CASE、SUBSTR

NVL、NVL2、CASE、SUBSTRですが、いつも使い方がわからなくなってネットで検索するのでメモしておきます。

NVL

SELECT ID, NAME, NVL(NAME, 'NULL') FROM TB_SAMPLE;

ID       NAME                 NVL(NAME,'NULL')
-------- -------------------- --------------------
1        山田                 山田
2                             NULL

NVL2

SELECT ID, NAME, NVL2(NAME, 'NULL以外', 'NULL') FROM TB_SAMPLE;

ID       NAME                 NVL2(NAME,'NULL以外'
-------- -------------------- --------------------
1        山田                 NULL以外
2                             NULL

CASE

パターン1

SELECT
    CASE CODE
        WHEN '01' THEN '車'
        WHEN '02' THEN '自転車'
        ELSE '不明'
    END コード変換
FROM
    TB_SAMPLE2
;

コード変換
------------------
車
自転車

パターン2

SELECT
    CASE
        WHEN CODE = '01' THEN '車'
        WHEN CODE = '02' THEN '自転車'
        ELSE '不明'
    END コード変換
FROM
    TB_SAMPLE2
;

コード変換
------------------
車
自転車

SUBSTR

SELECT SUBSTR('123456789', 2, 3) FROM DUAL;

SUBSTR('12345
------------------
234

SELECT SUBSTR('123456789', 2, 3) FROM DUAL;

SUBSTR
------
234

SELECT SUBSTR('123456789', 2, 3) FROM DUAL;

SUBSTR('1234
--------------
234