SQL ifnull、nullif 等函数

IFNULL

MySQL 中的 ifnull,接受两个参数,它类似于三目运算符,但又有些许不同。ifnull 包含两个参数,语法如下:

IFNULL(expression_1,expression_2);

ifnull 会判断 expression_1 的值,如果 expression_1 不为 null,则函数返回 expression_1;否则,函数返回 expression_2。下面是 ifnull 函数的示例(从 抄写过来):

MySQL的IFNULL函数示例
请参见以下IFNULL函数示例:
示例-1
SELECT IFNULL(1,0); -- returns 1
SQL
示例-2
SELECT IFNULL(,1); -- returns 
SQL
示例-3
SELECT IFNULL(NULL,IFNULL function); -- returns IFNULL function
 
注:空字符串  并不是 null。

NULLIF (摘抄自 https://www.yiibai.com/mysql/nullif.html)

MySQL 中的 nullif 函数,接受两个参数。如果第一个参数等于第二个参数,则 nullif 函数返回 null,否则返回第一个参数。

nullif 函数语法如下:

NULLIF(expression_1,expression_2);

ifnull 函数的示例如下:

NULIF(1,1)返回NULL,因为1等于1。
NULLIF(1,2)返回1,这是第一个参数,因为1不等于2。
NULLIF(MySQL NULLIF,MySQL NULLIF)返回NULL,因为两个参数是相同的字符串。
NULLIF(MySQL NULLIF,MySQL NULLIF)返回MySQL NULLIF,因为两个字符串不相等。
NULLIF(1,NULL)返回1,因为1不等于NULL。
NULLIF(NULL,1)返回第一个参数,即NULL,因为NULL不等于1。

MySQL 还有其他许多函数,我所看到的这个教程里面讲的比较详细,这里仅仅给大家做一个推荐。

经验分享 程序员 微信小程序 职场和发展