Mysql整数运算NULL值处理注意点

CleverCode近期在导出报表的时候,在整数做减法的时候,发现整数减去null得到是null。这是一个细节问题,希望大家以后注意。

1 表中的数据

total,used都是整形,同意为空。

Mysql整数运算NULL值处理注意点

2 有问题的运算语句

减法问题
select
id,
total,
used,
(total - used) as have
from test_table

Mysql整数运算NULL值处理注意点

3 正确的写法

使用ifnull。来处理null。
select
id,
ifnull(total,0) as total,
ifnull(used,0) as used,
(ifnull(total,0) - ifnull(used,0)) as have
from test_table

Mysql整数运算NULL值处理注意点

4 建议


1) 在设计表的时候,假设发现这列是须要运算的列,建议设置默认值,比方0。
2) 在整形列的运算的时候,无论是加,减,乘,除等。都须要使用ifnull,对列进行处理。否则报表数据就会错。

这些都是细节小问题,大家一看就能明确,希望大家在细节上注意。否则一份財务表报计算出错了。那后果是非常严重的!


版权声明:

1)原创作品,出自"CleverCode的博客",请勿转载,否则追究版权法律责任。

2)原创地址:http://blog.csdn.net/clevercode/article/details/47035975

3)分类地址(Mysql数据库总结):http://blog.csdn.net/clevercode/article/category/3262205(博客持续添加,关注请收藏)

4)欢迎大家关注我博客很多其它的精彩内容:http://blog.csdn.net/CleverCode



4 建议

上一篇:SDN第二次上机实验


下一篇:第二次SDN上机实验