返回 登录
0

如何将NULL值映射到其他有意义的值

在本教程中,您将了解如何将NULL值映射到其他有意义的值。
在关系数据库理论中NULL的概念,它表示未知值或缺少信息。
MySQL也支持NULL概念,表示丢失或不适用信息。

在数据库表中,存储包含NULL值的数据。 当以报告的形式向用户显示数据时,显示NULL值没有什么特别意义。
为了使报告更易于阅读和理解,所以必须将NULL值显示为其他值,例如未知,缺失或不可用 (N/A)。 为此我们可以使用IF函数
IF函数的语法如下:

IF(exp,exp_result1,exp_result2);

如果exp计算结果为TRUE(当exp <> 0exp <> NULL时),IF函数返回exp_result1的值,否则返回exp_result2的值。
IF函数的返回值可以是字符串或数字,具体取决于exp_result1exp_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;

执行上面的查询语句,结果如下所示 -

在本教程中,您已经学习了如何使用IFISNULL函数将NULL值映射到其他更有意义的值,以便使用一种可读的方式来呈现数据。

评论