这有效:
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
我的问题:是否有一种解决方法可以使我的第二种方式工作,我将列名“a.date_completed”放在 SQL 的 CASE 行中,而不是我如何让它工作第一种方式?我是否完全不使用第二个 SQL 的语法?