首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >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

复制
相关文章
MySQL IFNULL() 函数
IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。
翎野君
2023/05/12
6390
MySQL IFNULL() 函数
MySQl ifnull()和substr()
SUBSTR(str,pos,len) substr用来截取字符串; str 被截取的字符串 pos 开始位置 len 长度 举个例子: substr('abc',1,2)='ab' IFNULL(expr1,expr2) 判断函数,判断expr1是否为空,如果为空返回expr2, 如果不为空则返回expr1。 举个例子: ifnull(a,'b') = x; if a==0; 结果x='b' if a<>0; 结果x=a 的值。
Happy、Liu
2019/04/24
1K0
Mysql ifnull()空处理函数
ifnull(字段名,更改值); 意思就是如果括号中的字段名为null值,那么就将他改为更改值。
吃猫的鱼Code
2023/02/02
5620
MYSQL IFNULL使用功能
稍后的MYSQL IFNULL使用此功能的特定叙事,供大家参考学习,假设你MYSQL IFNULL条款的使用功能类别遇到似问题。最好看。
全栈程序员站长
2022/07/05
4260
Mysql 常用函数(3)- ifnull 函数
https://www.cnblogs.com/poloyy/p/12890763.html
小菠萝测试笔记
2020/06/09
6640
Mysql 常用函数(3)- ifnull 函数
MySQL中的ifnull()函数判断空值
我们知道,在不同的数据库引擎中,内置函数的实现、命名都是存在差异的,如果经常切换使用这几个数据库引擎的话,很容易会将这些函数弄混淆。
星哥玩云
2022/08/18
9.9K0
SQL函数 IFNULL
支持IFNULL作为SQL通用函数和ODBC标量函数。 请注意,虽然这两个执行非常相似的操作,但它们在功能上是不同的。 SQL通用函数支持三个参数。 ODBC标量函数支持两个参数。 SQL通用函数和ODBC标量函数的双参数形式是不一样的; 当expression-1不为空时,它们返回不同的值。
用户7741497
2022/04/05
4370
IFNULL和NULLIF
nullif和ifnull是数据库中常用的两个函数。不同的数据库可能会略微有差异。
cultureSun
2023/09/21
3660
IFNULL和NULLIF
mysql数据库 isnull,ifnull,nullif的区别和用法
ISNULL(expr) 如果expr的值为null,则返回1,如果不为null,则返回0; 例如,查找一个订单的状态,如果状态为null则返回1,不为空则返回0 select isnull(stat
仙士可
2019/12/18
1.7K0
【Mysql-3】条件判断函数-CASE WHEN、IF、IFNULL详解
在众多SQL中,统计型SQL绝对是让人头疼的一类,之所以如此,是因为这种SQL中必然有大量的判读对比。而条件判断函数就是应对这类需求的利器。本文重点总结CASE WHEN、IF、IFNULL三种函数。
云深i不知处
2020/09/16
28.5K0
总结MySQL和Oracle的语法区别
Oracle左连接、右连接可以使用(+)来实现,MySQL只能使用left join ,right join等关键字。 Oracle
程序员云帆哥
2022/05/12
1.7K0
【Leetcode】177. 第N高的薪水
编写一个 SQL 查询,获取 Employee 表中第 n 高的薪水(Salary)。
Leetcode名企之路
2018/12/05
1.4K0
完美解决PHP使用curl返回空白
最新的curl认可证书:https://curl.haxx.se/ca/cacert.pem
房东的狗丶
2023/02/17
3.4K0
一道Leetcode数据库题的三种解法|文末送书
大家好,从今天起我们将对Leetcode中数据库相关题目进行讲解,如果对SQL相关操作还不是很了解的读者可以点击万字Mysql学习笔记复习。
刘早起
2020/05/13
5610
一道Leetcode数据库题的三种解法|文末送书
迷途知返的滴滴
从美股退市,对于滴滴来讲,或许是再适合不过的事情了。对于滴滴来讲,这更像是一次迷途知返。在中概股回港上市的大潮流里,纵然是滴滴不再这样一个时间档口选择从美股退市,在未来的某一个时间点上,滴滴还是要选择从美股退市的。所以,滴滴选择在这样一个时刻从美股退市,更多地是在做未来必然要做的事情。
孟永辉
2022/05/25
3180
迷途知返的滴滴
SAP HANA SQL IFNULL和NULLIF用法与区别
正文部分 SAP HANA SQL中有IFNULL,还有NULLIF 两者的用法和区别简单说一下 IFNULL是返回第一个不为NULL的数据 用法如下: NULLIF是比较前后两个参数是否相等 如果相
matinal
2020/11/27
1.2K0
SAP HANA SQL IFNULL和NULLIF用法与区别
Django Model 如何返回空的 QuerySet
>>> from django.contrib.auth.models import User >>> User.objects.none() <QuerySet []> 以上就是本文的全部内容,如果觉得还不错的话。
AlwaysBeta
2022/05/05
7630
访问权限导致toString返回空BUG分享
这个BUG偶然间发现的,因为之前一直都是用Groovy去写脚本(Groovy默认访问权限是public)。在某一个使用Java写脚本的时候突然发现,我将创建好的对象toString之后竟然是空的,无论是打印对象属性还是非空验证都是通过的。但是通过fastjson的toString方法之后就变成了空。
FunTester
2020/10/19
4410
win10 uwp 解决 SerialDevice.FromIdAsync 返回空
调用 SerialDevice.FromIdAsync 可能返回空,因为没有设置 package.appmanifest 可以使用端口
林德熙
2019/03/13
6330
tp自动验证流程和返回空数组的问题
今天下午上班做配置表数据自动验证更新时,发现验证失败返回false,而验证成功返回的却只是空数组,导致一直判断为false;
仙士可
2019/12/18
9930

相似问题

仍然返回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 归档
查看详情【社区公告】 技术创作特训营有奖征文