使用 CASE/WHEN/THEN 时如何忽略不在 case 语句内的记录?
例如,此语句将按预期更新三个匹配记录,但会将所有与 WHEN/THEN 子句不匹配的学生记录设置为 NULL
UPDATE table SET student = (CASE WHEN student = '10' THEN '100412'
WHEN student = '17' THEN '100295'
WHEN student = '26' THEN '100981'
END)
WHERE year = '2019';
Run Code Online (Sandbox Code Playgroud)
如何跳过不在 CASE 语句内的记录并仅更改具有匹配子句的记录?
小智 5
对于跳过不在 case 语句中的记录,您可以使用类似的方法
UPDATE table SET student = (CASE WHEN student = '10' THEN '100412'
WHEN student = '17' THEN '100295'
WHEN student = '26' THEN '100981'
END)
WHERE year = '2019' AND student IN ('10','17','26');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1603 次 |
| 最近记录: |