在 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’

转载请注明: 转载自Ryan 是菜鸟 | LNMP 技术栈笔记

如果觉得本篇文章对您十分有益,何不 打赏一下

谢谢打赏

本文链接地址: Mysql IFNULL 和 IF 用法

知识共享许可协议 本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可