用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > mysql教程

mysql when case 条件判断语名用法

时间:2015-01-23  来源:西部数据  作者:西部数据

一个CASE表达式的默认返回值类型是任何返回值的相容集合类型,但具体情况视其所在语境而定,如果用在字符串语境中,则返回结果味字符串,如果用在数字语境中,则返回结果为十进制值、实值或整数值.

语法,代码如下:

  1. CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END 

实例,代码如下:

  1. SELECT CASE WHEN 10*2=30 THEN '30 correct'  
  2. WHEN 10*2=40 THEN '40 correct'  
  3. ELSE 'Should be 10*2=20'  
  4. END

复杂点,代码如下:

  1. SELECT CASE 10*2  
  2. WHEN 20 THEN '20 correct'  
  3. WHEN 30 THEN '30 correct'  
  4. WHEN 40 THEN '40 correct'  
  5. END

实例,代码如下:

  1. /*  
  2. mysql> SELECT Name, RatingID AS Rating,  
  3. -> CASE RatingID  
  4. -> WHEN 'R' THEN 'Under 17 requires an adult.'  
  5. -> WHEN 'X' THEN 'No one 17 and under.'  
  6. -> WHEN 'NR' THEN 'Use discretion when renting.'  
  7. -> ELSE 'OK to rent to minors.'  
  8. -> END AS Policy  
  9. -> FROM DVDs  
  10. -> ORDER BY Name;  
  11. +-----------+--------+------------------------------+  
  12. Name | Rating | Policy |  
  13. +-----------+--------+------------------------------+  
  14. | Africa | PG | OK to rent to minors. |  
  15. | Amadeus | PG | OK to rent to minors. |  
  16. | Christmas | NR | Use discretion when renting. |  
  17. | Doc | G | OK to rent to minors. |  
  18. | Falcon | NR | Use discretion when renting. |  
  19. | Mash | R | Under 17 requires an adult. |  
  20. | Show | NR | Use discretion when renting. |  
  21. View | NR | Use discretion when renting. |  
  22. +-----------+--------+------------------------------+  
  23. rows in set (0.01 sec)  
  24. */  
  25. Drop table DVDs;  
  26. CREATE TABLE DVDs (  
  27. ID SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,  
  28. Name VARCHAR(60) NOT NULL,  
  29. NumDisks TINYINT NOT NULL DEFAULT 1,  
  30. RatingID VARCHAR(4) NOT NULL,  
  31. StatID CHAR(3) NOT NULL  
  32. )  
  33. ENGINE=INNODB;  
  34. INSERT INTO DVDs (Name, NumDisks, RatingID, StatID)  
  35. VALUES ('Christmas', 1, 'NR''s1'),  
  36. ('Doc', 1, 'G''s2'),  
  37. ('Africa', 1, 'PG''s1'),  
  38. ('Falcon', 1, 'NR''s2'),  
  39. ('Amadeus', 1, 'PG''s2'),  
  40. ('Show', 2, 'NR''s2'),  
  41. ('View', 1, 'NR''s1'),  
  42. ('Mash', 2, 'R''s2');  
  43. SELECT Name, RatingID AS Rating,  
  44. CASE RatingID  
  45. WHEN 'R' THEN 'Under 17 requires an adult.'  
  46. WHEN 'X' THEN 'No one 17 and under.'  
  47. WHEN 'NR' THEN 'Use discretion when renting.'  
  48. ELSE 'OK to rent to minors.'--phpfensi.com 
  49. END AS Policy  
  50. FROM DVDs  
  51. ORDER BY Name;
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
    无相关信息
栏目更新
栏目热门