テーブルに NULL の値を挿入する必要があるシナリオがあります。どうすればそれができるのか、誰かが私を助けてくれませんか。NVL機能を使って探しているだけでなく、何でもありがたいです。
ありがとう、クマール
テーブルに NULL の値を挿入する必要があるシナリオがあります。どうすればそれができるのか、誰かが私を助けてくれませんか。NVL機能を使って探しているだけでなく、何でもありがたいです。
ありがとう、クマール
あなたが望むように私には聞こえますNVL2
すなわち:
NVL2(your_var, 'val if not null', 'val if null')
またはケース/デコードも使用できます
例えば:
SQL> var a varchar2(11)
SQL> exec :a := 'not null';
PL/SQL procedure successfully completed.
SQL> select nvl2(:a, 'c', 'b') "nvl2",
2 case when :a is null then 'b' else 'c' end "case",
3 decode(:a, null, 'b', 'c') "decode"
4 from dual;
n c d
- - -
c c c
SQL> exec :a := '';
PL/SQL procedure successfully completed.
SQL> select nvl2(:a, 'c', 'b') "nvl2",
2 case when :a is null then 'b' else 'c' end "case",
3 decode(:a, null, 'b', 'c') "decode"
4 from dual;
n c d
- - -
b b b
したがって、null でない場合はそのままの値が必要であり、null の場合はハードコードされた何かが必要な場合は、次のようになります。
nvl2(age, age, 42)
したがって、age
null の場合は 42 になり、それ以外の場合は の値を取りますage
。
Insert into mytable (ID, Name, Age) values (1,'John Smith', Null);