- - PR -
OracleのNULL判断
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-08-24 19:26
Oracleのストアードを開発しています。
以下の時、処理Bが処理されます 気持ちとしては処理Aが処理されて欲しいのですが、なぜ処理Bが 処理されるか分かりません。 単純な事だとは思いますが・・・。 IF (null <> 'aaa') THEN 処理A; ELSE 処理B; END IF; | ||||
|
投稿日時: 2004-08-24 19:29
一瞬何語かと思った… nullは直接比較できないので、nullを確認する構文を使用する必要があると思います。 [ メッセージ編集済み 編集者: なちゃ 編集日時 2004-08-24 19:33 ] | ||||
|
投稿日時: 2004-08-24 19:46
http://jibun.atmarkit.co.jp/fengineer/rensai/omgdb03/omgdb01.html 内、「論理条件の作成」に記述がありますが、OracleでNULLの扱いが特殊なためです。 あと、Database Expert 会議室との方が、今回の質問の場所としては適切だと思います。 | ||||
|
投稿日時: 2004-08-24 19:46
if hogehoge is null then
piyopiyo で判定できます。 | ||||
|
投稿日時: 2004-08-24 19:46
IF VAR <> 'aaa' OR VAR IS NULL THEN
処理A; ELSE 処理B; END IF; とすれば変数 VAR が NULL のときに処理Aが実行されます。 |
1