控制流函数
MySQL提供了4个函数是用来进行条件操作的。这些函数实现了sql的条件逻辑,允许开发者将一些应用程序业务逻辑转换到 数据库后台。
case where[test1] then[result1] ... else[defalut] end;//如果testN为真,则返回resultN,否则返回default
case[test] where[val1] then[result1]...else[default] end;//如果test和valN为真,则返回resultN,否则返回default
if(test,t,f);//如果test为真,返回t,否则返回f
ifnull(arg1,arg2);//如果arg1不是空,返回arg1,否则返回arg2
nullif(arg1,arg2);//如果arg1=arg2返回null,否则返回arg1
这些函数的第一个是ifnull()函数,它有两个参数,并且对第一个参数进行判断。如果第二个参数不是null, 函数就会向调用者返回第一个参数,如果是null,返回第二个参数。
select ifnull(1,2),ifnull(null,10),ifnull(4*null,'false');//结果为1,10,false
nullif()函数将会检验提供的两个参数是否相等,如果相等,则返回null,不相等,返回第一个参数。
if()函数有三个参数,第一个是要被判断的表达式,如果表达式为真,if()函数会返回第二个参数,为假,返回第三个参数。 if()函数在只有两种结果时才适合使用