更新列的 CASE 表达式

CASE 表达式允许语句返回几个可能的结果之一,这依赖于若干条件测试中哪个求值为 TRUE。

下列示例展示如何在 UPDATE 语句中使用 CASE 表达式来增加 stock 表中某些商品的单价:
UPDATE stock
          SET unit_price = CASE
          WHEN stock_num = 1 
          AND manu_code = "HRO"
          THEN unit_price * 1.2
          WHEN stock_num = 1 
          AND manu_code = "SMT"
          THEN unit_price * 1.1
          ELSE 0
          END

您必须在 CASE 表达式内包括至少一个 WHEN 子句;后续的 WHEN 子句和 ELSE 子句是可选的。如果无 WHEN 条件求值为真,则结果值为空。