Mysql IFNULL 和 IF 用法

在Ecshop中的Mysql SQL语句中很多出现IFNULL和IF的处理,这2个函数的如何使用和有什么区别?

IFNULL(expr1,expr2),如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。

IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。

mysql> select IFNULL(1,0); -> 1

mysql> select IFNULL(0,10); -> 0

mysql> select IFNULL(1/0,10); -> 10

mysql> select IFNULL(1/0,’yes’); -> ‘yes’

IF(expr1,expr2,expr3)如果expr1是TRUE(expr1<>0且expr1<>NULL),那么IF()返回expr2,否则它返回expr3。IF()返回一个数字或字符串值,取决于它被使用的上下文。

mysql> select IF(1>2,2,3); -> 3

mysql> select IF(1<2,’yes’,’no’); -> ‘yes’

mysql> select IF(strcmp(‘test’,’test1′),’yes’,’no’); -> ‘no’

 

未经允许不得转载:SuperMan's blog » Mysql IFNULL 和 IF 用法

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址