今天,我们使用ISNULL MySQL中发现他是MSSQL有点不同。



对空,ifnull使用MySQL和NULLIF如下:



The use of isnull (expr):

如果表达式为空,则返回值(空)是1,否则返回0。


MySQL >选择空(1 + 1);
> 0
MySQL >选择空(1 / 0);
> 1


使用=的空值比较通常是错误的。

ISNULL()函数和无效的比较运算符有一些相同的属性。请看说明是空的。



使用的ifnull(expr1,expr2):



如果expr1的值不为空,则返回值是ifnull()的值;

否则,返回值是表达式,ifnull返回值()是一个数字或字符串,这取决于它被使用的上下文。




MySQL >选择ifnull(1,0);
> 1
MySQL >选择ifnull(null,10);
> 10
MySQL >选择ifnull(1 / 10);
> 10
MySQL >选择
ifnull(1 / 0,是的);
->是


对ifnull默认的结果值(expr1,expr2)是一种比较常见的一种表达方式,这是字符串,或

整数。假设一个表的基础上的一种表达,或MySQL必须存储ifnull返回值()在一个临时表在内存储:


创建表的选择ifnull TMP(1,测试)作为测试;


在本例中,测试列的类型是char(4)。

使用的NULLIF(expr1,expr2):

如果expr1



= expr2的设置,则返回值为空,则返回值是值。这与案例当expr1 = expr2

然后空别的expr1的归宿都是一样的。


MySQL >选择
NULLIF(1,1);
->空
MySQL >选择NULLIF(1,2);
1 - >


如果参数不相等,价值的MySQL两次expr1。



以上是ifnull详细介绍,在MySQL NULLIF和空,我想帮你。如果你有任何问题,请给我留言,萧边会及时给您回复。谢谢您支持网站。