これは機能します:
UPDATE KEYBOARD_LEARNING a
SET a.date_completed =
CASE
WHEN a.date_completed = '04-JUL-2012' THEN '06-JUL-2012'
END
WHERE a.emplid = 18
しかし、これはしません(以下)。私が得るエラーは、データ型が一致しないことです。もちろん、一方がDATEデータ型で、もう一方がNUMBERであるため、これは理にかなっています。
UPDATE KEYBOARD_LEARNING a
SET a.date_completed =
CASE a.date_completed
WHEN '04-JUL-2012' THEN '06-JUL-2012'
END
WHERE a.emplid = 21
私の質問:最初の方法ではなく、SQLのCASE行に列名「a.date_completed」を配置する2番目の方法を機能させるための回避策はありますか?2番目のSQLの構文は完全にオフになっていますか?