全部 / 数据库 · 2021年7月19日 0

MySQL 之 Case When 用法

广告位招租 (vx: ghostcode, 备注:网站广告)

先看下语法 MySQL 8.0 的语法:

第一种:

CASE case_value
    WHEN when_value THEN statement_list
    [WHEN when_value THEN statement_list] ...
    [ELSE statement_list]
END CASE

第二种:

CASE
    WHEN search_condition THEN statement_list
    [WHEN search_condition THEN statement_list] ...
    [ELSE statement_list]
END CASE

现在的需求是:给数据的 grade 字段添加相应的值。

比如:

一年级要求认识的字包括:grade = 1

一二三
十木禾
上下土个

二年级要求认识的字包括:grade=2

宜实色华谷金尽层丰壮
波浪灯作字苹丽劳
尤其区巨它安块站

书写的SQL为:

UPDATE `w` SET 
	`grade` = (CASE `word`
		WHERE "上" THEN "1"
		WHERE "丰" THEN "2"
	END)
	WHERE word in("上","丰")

同时改动多个字段:

UPDATE demo SET content = ( 
  CASE 
     WHEN id = 1 THEN '内容111' 
     WHEN id = 0 THEN '内容000'
  END
),id = (
    CASE 
     WHEN id = 1 THEN 11
     WHEN id = 0 THEN 22
  END
)