アプリ版:「スタンプのみでお礼する」機能のリリースについて

Oracle初心者です。
以下のようなエラーがSQL*Plusで出てしまうのですが
何がいけないのかよくわかりません。
dt.KAISU = 5 と記述すればうまくいくのですが...
ご教授くださ~い。

SQL> UPDATE DATARECORD dt SET
 2     dt.KAISU = CASE
 3           WHEN NVL(dt.GOKEI,0)
 4             < 5
 5           THEN dt.GOKEI
 6           ELSE 5
 7           END
 8  Where NVL(dt.GOKEI,0) <> 0
 9 ;
         ELSE 5
            *
6行でエラーが発生しました。
ORA-00932: データ型が一致しません。

A 回答 (1件)

SQLのCASE式では、どの条件にマッチした場合でも、同じ型の値を返す必要があったはずです。


おそらくdt.GOKEIの型と5の型(Number?)が一致していないと思うのですがどうでしょうか?
(DATARECORDのテーブル定義がわからないので、なんともいえませんが…。)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!