0

テーブルに NULL の値を挿入する必要があるシナリオがあります。どうすればそれができるのか、誰かが私を助けてくれませんか。NVL機能を使って探しているだけでなく、何でもありがたいです。

ありがとう、クマール

4

2 に答える 2

1

あなたが望むように私には聞こえます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)

したがって、agenull の場合は 42 になり、それ以外の場合は の値を取りますage

于 2013-02-12T08:19:22.323 に答える
0
Insert into mytable (ID, Name, Age) values (1,'John Smith', Null);
于 2013-02-11T22:42:34.283 に答える