ORACLE操作 ORACLE機能

[ORACLE] CASE文でORA-00932が発生する場合

投稿日:

CASE文でORA-00932が発生する場合は、
分岐した結果の型が一致していない事が原因です。

サンプル

例えば、以下のSQL文はORA-00932エラーとなります。

実行結果
ORA-00932: データ型が一致しません CHARが予想されましたがNUMBERです。

これは、分岐した結果が 'ABC'(文字列)と123(数値)と型が異なるためです。

以下のように型を合わせればエラーとなりません。

実行結果
ABC

分岐した結果が 'ABC'(文字列)と'123'(文字列)と型が同じためエラーとなりません。

まとめ

  • CASE文の結果の型は、全て同じになるように注意しましょう。
    ※NULLはOKです。

スポンサーリンク

スポンサーリンク

-ORACLE操作, ORACLE機能

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

ORACLE

[ORACLE] テーブルに主キーを追加する

主キーを追加するには、ALTER TABLE~ADD CONSTRAINT句を使用します。 主キー(プライマリーキー)は ...
ORACLE

[PL/SQL] IF文を使う

PL/SQLでのIF文サンプルです。 構文 (IF文の構文) IF <条件1> THEN  <条件1がTRUEの時の処理 ...
ORACLE

[V$表] セッションの情報を取得する(V$SESSION)

セッションの情報を参照するには、V$SESSIONビューを参照します。 V$SESSIONの定義 V$SESSIONの定 ...
ORACLE

[PL/SQL] 配列(NESTED TABLE)の要素が存在するかどうか判定する(EXISTS)

配列(NESTED TABLE)の要素が存在するかどうかを判定するには、EXISTSを使用します。 サンプル 例)EXI ...
ORACLE

[ORACLE] 列名を変更する(ALTER TABLE~RENAME COLUMN)

テーブルの列名を変更するには、ALTER TABLE~RENAME COLUMNを使用します。 構文 (列名変更構文) ...

スポンサーリンク