网上有各种各样的博客,对于许多 MySQL 的函数都做了不同的解读和说明。我们在搜索的时候,往往直接输入自己想要查找的函数名,反而可能错过了系统规范的内容或者文章。
关于 MySQL 中各类函数,易百教程里面介绍的比较全,页面及书写布局也不错,好的内容不应该被埋没。链接如下:
/mysql/functions.html#article-start
文章的标题既然叫 ifnull,if,这里就介绍一下这两个函数,抛砖引玉:
IFNULL
MySQL 中的 ifnull,接受两个参数,它类似于三目运算符,但又有些许不同。ifnull 包含两个参数,语法如下:
IFNULL(expression_1,expression_2);
ifnull 会判断 expression_1 的值,如果 expression_1 不为 null,则函数返回 expression_1;否则,函数返回 expression_2。下面是 ifnull 函数的示例(从 /mysql/ifnull.html 抄写过来):
MySQL的IFNULL函数示例请参见以下IFNULL函数示例:示例-1SELECT IFNULL(1,0); -- returns 1SQL示例-2SELECT IFNULL('',1); -- returns ''SQL示例-3SELECT IFNULL(NULL,'IFNULL function'); -- returns IFNULL function注:空字符串 '' 并不是 null。
NULLIF (摘抄自 /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 还有其他许多函数,我所看到的这个教程里面讲的比较详细,这里仅仅给大家做一个推荐。
参考链接:/mysql/functions.html