您的位置首页生活百科

MySQL中的isnull、ifnull和nullif函数用法

MySQL中的isnull、ifnull和nullif函数用法

的有关信息介绍如下:

MySQL中的isnull、ifnull和nullif函数用法

MySQL是一个关系型数据库,和sqlserver一样。现在很多公司或网站都是使用这个数据库来保存数据的。下面我们来看一下数据库中关于null的几个函数的用法。

首先是isnull函数。这个函数主要是用在sql语句中的where条件语句里,用来看某个字段是为空(null),要注意的是空字符串是不属于null的。

比如:select * from student where isnull(gender)

结果如图。

ifnull函数呢?又是什么意思?

ifnull主要是用在select字段数据里,相当于代码里的一个二元函数,即看字段是否为空,不为空则返回该字段,为空则返回函数里的第二个参数的值。

比如:select id, ifnull(gender, '未知') as gender from student

执行上方的sql语句,我们就得到如下的结果。可以看到当gender字段为空,没有设置值时,我们不想它显示为空,则可以使用ifnull函数,让其显示为‘未知’。

NULLIF是另一个二元函数,主要用来看二个表字段的数据是否相同的。当二个字段数据相同,该函数就会返回null,如果不相同,则会返回第一个参数的值。

比如:

select id, nullif(id, gender) as gender from student

运行上方的sql,会得到如图的结果。

要注意的是nullif里的二个参数除了可以是表字段外,还可以是一个字符串,这样我们就可以用一个字段来和一个字符串比较,而不是二个表字段来比较。

比如:

select id, nullif(id, 'a') as gender from student