CASE 指令,MySQL 的 switch 与 if else
时间:2014-07-22 00:36 来源: 我爱IT技术网 作者:山风
今天在玩 CASE 这个指令,虽然已经在同学 黑色 深渊 的 Blog 中看到过了,为了明确了解这个指令的语法及功能,今天花了一点时间实证。
1、必须依附在 SELECT,UPDATE,INSERT,DELETE 下
2、不可用在区段中加其他动作
3、具有 switch 与 if else 两种架构
- -- switch 的用法
- SELECT CASE col
- WHEN 100 THEN '1'
- WHEN 50 THEN '2'
- ELSE '3'
- END
- FROM table;
- -- if else 的用法
- SELECT CASE
- WHEN col>100 THEN '1'
- WHEN col>50 THEN '2'
- ELSE '3'
- END
- FROM table;
在需要做多种情况区分时,这个指令就很好用,可惜不行加入其他动作,例如:
- CASE
- WHEN EXISTS(SELECT * FROM table WHERE id=1)
- THEN (UPDATE table SET txt='test' WHERE id=1)
- ELSE (INSERT INTO table(id,txt) VALUES(1,'text'))
- END;
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
