设为首页 加入收藏

TOP

用COALESCE解决MySQL null求和的问题
2018-05-26 14:14:08 】 浏览:140
Tags:COALESCE 解决 MySQL null 求和 问题

今天在操作数据库的时候,遇到了一个问题,我需要在一张数据表中新加一个字段,并且将这个字段的值,设为其他几个表中字段的和。第一步:在表中加入sum字段假设oa_staff_monthcostitem表有这些字段,我需要新加一个sum字段

ALTER TABLE `oa_staff_monthcostitem` add `sum` DECIMAL(25,4) NULL DEFAULT NULL COMMENT '合计' AFTER `hourlywage`;第二步,将字段的值设为pay+company+welfare+bonus执行这个sqlupdate `oa_staff_monthcostitem` set `sum`=`pay`+`company`+`welfare`+`bonus`;显示受影响的有48条数据,可是我表中的数据远远大于48条,也就是说有很多是没有计算的。为什么也就是说null和其他的值相加还是null值,因为我表中相加的数据有null值,所以相加之后还是null,就不会有变化,那要怎么解决呢?

就是用COALESCE COALESCE 返回第一个不是null的数据把原来的sql改一下:update `oa_staff_monthcostitem` set `sum`=COALESCE(`pay`,0)+COALESCE(`company`,0)+COALESCE(`welfare`,0)+COALESCE(`bonus`,0);这下受影响的有100多条,就可以了

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇数据库在线测试题:关系数据理论 下一篇sql中使用or查询很慢的问题解决办..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目