为了账号安全,请及时绑定邮箱和手机立即绑定

mysql中使用if或者ifnull函数将NULL值映射为其他值

标签:
MySQL

Summary: in this tutorial, you will to learn how to map NULL values onto other values for a better data representation.

Dr.E.F.Codd, who is the creator of relational model for database, introduced the NULL concept in the relational database theory. According to Dr.E.F.Codd, NULL means unknown value or missing information.

MySQL supports NULL values that represent the concept of missing or inapplicable information.

In the database, we have to store data in the columns of tables that contain NULL values. When we present the data to the users in the form of reports, it doesn’t make sense to display the NULL values. In order to make the data more readable and understandable, we have to display NULL values as other values such as unknown, missing or not available (N/A). In order to do this, we can use the MySQL IF function.

The syntax of  the IF function is as follows:

IF(exp,exp_result1,exp_result2)

If the exp evaluates to TRUE (when exp <> 0 and exp <> NULL), the IF function returns the value of the exp_result1 otherwise it returns the value of exp_result2The returned value of the IF function can be a string or a number, depending on the exp_result1 and exp_result2 expressions.

Let’s practice with some examples to get a better understanding. We will work with the customers table in the sample database.

The following is the partial data in the customers table that includes customernamestate and country:

SELECT customername, state, country FROM customers ORDER BY country

Customers table data

From the result set above, we see that the state values are  not available for some customers therefore we can use the IF function to display NULL value as N/A:

SELECT customername,         IF(state IS NULL,"N/A",state) state,         country FROM customers ORDER BY country

mysq if function example

MySQL also provides IFNULL function that allows you to handle NULL values directly. The following is the syntax of the IFNULL function:

IFNULL(exp,exp_result)

The IFNULL function returns the value of the exp_result expression if the exp evaluates to NULL value, otherwise it returns the value of the exp expression.

The following query demonstrates how to use IFNULL function to display NULL as N/A for state values:

SELECT customername,         IFNULL(state,"N/A") state,         country FROM customers ORDER BY country

In this tutorial, we have shown you how to use the IF and IFNULL functions to map the NULL values onto other values for presenting data in a readable manner.

原文链接:http://outofmemory.cn/mysql/tips/avoid-displaying-null-values-by-mapping-to-other-values

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消