Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >MySQL IFNULL仍然返回空。

MySQL IFNULL仍然返回空。
EN

Stack Overflow用户
提问于 2018-12-24 15:20:19
回答 2查看 601关注 0票数 1

我正在尝试选择列突变中的总价值。当列中没有数据时,语句返回NULL

我想用0.00替换返回的NULL

我试图在我的SQL语句中实现IFNULL函数(我使用的是MySQL)。当我执行语句时,仍然会得到NULL

有人知道我怎么解决这个问题吗?

以下是我的全部发言:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT CONCAT('€ ', FORMAT(SUM(IFNULL(mutations,'0.00')),2)) AS total
FROM scu_statement 
WHERE type='2'

表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE TABLE `scu_statement` (
  `id` int(11) NOT NULL,
  `type` int(11) NOT NULL,
  `mutations` decimal(50,2) NOT NULL,
  `status` int(11) NOT NULL DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-24 15:43:18

如果返回集没有行,SUM()返回NULL,所以只需添加IFNULL函数来检查SUM是否返回NULL

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT CONCAT('€ ', FORMAT(IFNULL(SUM(mutations), 0),2)) AS total
FROM scu_statement 
WHERE type='2'

核查实例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT CONCAT('€ ', FORMAT(IFNULL(SUM(mutations), 0),2)) AS total
FROM (SELECT * FROM (SELECT 1 AS mutations) as t1 LIMIT 0) as q

求和函数忽略空值。您可以通过以下方式验证它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT SUM(X)
FROM (
             SELECT 1 AS X
             UNION SELECT 10 AS X
             UNION SELECT NULL AS X    
         ) AS q
票数 1
EN

Stack Overflow用户

发布于 2018-12-24 15:45:26

SUM()函数忽略空值,并对所有非空值进行求和.

SUM()可能返回null的原因有两个:

  • 所有行都有一个空值。
  • 找不到行。

因为您的mutations列是NOT NULL,所以它不可能是第一个原因,这是因为没有找到任何行。

要防止null,需要在IFNULL之外调用SUM

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT CONCAT('€ ', FORMAT(IFNULL(SUM(mutations),0),2)) AS total
FROM scu_statement 
WHERE type='2'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53918298

复制
相关文章

相似问题

仍然返回Null - MYSQL的IFNULL()

32

尽管使用IFNULL (MySQL),SQL查询仍不返回空值。

30

mysql How to COUNT() IFNULL字段+IFNULL

20

MySQL IFNULL问题

123

MySql JSONObject Ifnull

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文