您当前位置:设计在线网 >> Sql Server >> 浏览文章

基于mysql中的case条件语句用法

分享到:
本文章讲述了基于mysql中的case条件语句用法.

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在

第一个方案的返回结果中, value=compare-value。而第二个方案的返回结果是第一种情况的真实结果。如果没有匹配的结果值,则返回结果为ELSE后的结果,如果没有ELSE 部分,则返回值为 NULL。

mysql> SELECT CASE 1 WHEN 1 THEN 'one'

->WHEN 2 THEN 'two' ELSE 'more' END;

-> 'one'

mysql> SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END;

-> 'true'

mysql> SELECT CASE BINARY 'B'

->WHEN 'a' THEN 1 WHEN 'b' THEN 2 END;

-> NULL

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

IF(expr1,expr2,expr3) 如果 expr1 是TRUE (expr1NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。

MySQL> SELECT IF(1>2,2,3);-> 3

MySQL> SELECT IF(1 'yes'MySQL> SELECT IF(STRCMP('test','test1'),'no','yes');-> 'no'

IFNULL(expr1,expr2)

假如expr1 不为 NULL,则 IFNULL() 的返回值为 expr1; 否则其返回值为 expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境。

MySQL> SELECT IFNULL(1,0);-> 1

MySQL> SELECT IFNULL(NULL,10);-> 10

MySQL> SELECT IFNULL(1/0,10);-> 10

MySQL> SELECT IFNULL(1/0,'yes');-> 'yes'

NULLIF(expr1,expr2)

如果expr1 = expr2 成立,那么返回值为NULL,否则返回值为 expr1。这和CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END相同。

MySQL> SELECT NULLIF(1,1);-> NULL

MySQL> SELECT NULLIF(1,2);-> 1

---分页

mysql用limit,

从index 0 开始,取5条记录 select * from table limit 0,5 还可以取中间的记录:

从index 5开始,连续取10条记录 select * from table limit 5,10

推荐阅读:
如何使用plsql作为Oracle的客户端
简述修复sql数据库损坏或置疑的方法
Sql Server数据库定时自动备份方法
推荐文章  
赞助商链接  
热门排行  
主题推广  
中国设计在线网 All Rights Reserved. 互联网违法和不良信息举报
信息产业部备案号:湘ICP备09001063号