在本教程中,您将了解如何将NULL
值映射到其他有意义的值。
在关系数据库理论中NULL
的概念,它表示未知值或缺少信息。
MySQL也支持NULL
概念,表示丢失或不适用信息。
在数据库表中,存储包含NULL
值的数据。 当以报告的形式向用户显示数据时,显示NULL
值没有什么特别意义。
为了使报告更易于阅读和理解,所以必须将NULL
值显示为其他值,例如未知,缺失或不可用 (N/A
)。 为此我们可以使用IF函数。 IF
函数的语法如下:
IF(exp,exp_result1,exp_result2);
如果exp
计算结果为TRUE
(当exp <> 0
和exp <> NULL
时),IF
函数返回exp_result1
的值,否则返回exp_result2
的值。 IF
函数的返回值可以是字符串或数字,具体取决于exp_result1
和exp_result2
表达式。
让我们通过一些例子练习来更好的理解和使用它们。我们将使用示例数据库中的customer
表。
以下是customer
表中包括客户名称,所在省份和城市的部分数据:
SELECT
customer_name, province, city
FROM
studymysql.customer
ORDER BY province;
执行上面的查询语句,结果如下所示 -
除了IF
函数,MySQL提供了ISNULL
函数,允许直接处理NULL
值。 以下是ISNULL
函数的语法:
IFNULL(exp,exp_result);
如果exp
计算为NULL
值,ISNULL
函数返回exp_result
表达式的值,否则返回exp
表达式的值。
以下查询使用ISNULL
函数将NULL
显示为未知(N/A
),如下所示:
SELECT customer_name,
IFNULL(province,"N/A") province,
city
FROM studymysql.customer
ORDER BY province;
执行上面的查询语句,结果如下所示 -
在本教程中,您已经学习了如何使用IF
和ISNULL
函数将NULL
值映射到其他更有意义的值,以便使用一种可读的方式来呈现数据。