1、case when then
示例写法一:
select id,
case delayDate
when 1 then '正常'
when 2 then '催取一次' ELSE '退回' END '状态',
companyName
from tb_package
示例写法二:
select id,
case
when delayDate = 1 then '正常'
when delayDate = 2 then '催取一次'
else '退回'
END '状态',
companyName
from tb_package
执行下代码看看执行的结果:
同样的功能看看用IF语句怎么写。
2、IF(expr1,expr2,expr3)
示例代码:
select id,IF (delayDate=1,'正常',if(delayDate=2,'催取一次','退回')) as '状态',
companyName '快递公司'
from tb_package
用上面的代码来解释一下IF(expr1,expr2,expr3)的语法,当dalayDate等于1的时候,返回结果“正常”,否则返回后面的一个嵌套表达式,嵌套的表达式里面当delayDate等2时,返回“催取一次”,否则发回退回。这个语法和java中的三目运算符有些相似。
exp>1?"正常":"催取";
3、IFNULL(expr1,expr2)
如果expr1 不为 NULL,则 IFNULL() 的返回值为 expr1; 否则其返回值为 expr2;IFNULL()的返回值是数字或是字符串。