今天在完善支付系统的时候,优化了一下程序中的数据库相关语句代码,原本采用的逻辑是先读取整个表数据,先将变量指定为0,然后循环输出加值,这样做效果没那么好,还影响效率,所以我将它改成了直接从数据库查询的时候就直接做好统计,使用的方法是sum()函数。

当然,SQL 拥有很多可用于计数和计算的内建函数。这里就简单给大家介绍一下~

SQL Aggregate 函数 //计算从列中取得的值,返回一个单一的值。

AVG() - 返回平均值

COUNT() - 返回行数

FIRST() - 返回第一个记录的值

LAST() - 返回最后一个记录的值

MAX() - 返回最大值

MIN() - 返回最小值

SUM() - 返回总和

SQL Scalar 函数 //基于输入值,返回一个单一的值。

UCASE() - 将某个字段转换为大写

LCASE() - 将某个字段转换为小写

MID() - 从某个文本字段提取字符,MySql 中使用

SubString(字段,1,end) - 从某个文本字段提取字符

LEN() - 返回某个文本字段的长度

ROUND() - 对某个数值字段进行指定小数位数的四舍五入

NOW() - 返回当前的系统日期和时间

FORMAT() - 格式化某个字段的显示方式

由以上介绍可见,我采用了以下写法

SELECT SUM(余额) FROM 商户表

好用是好用,就是有点上头~问题在测试的时候也就自然而然的出现了!

如果网站内所有的商户余额都是0,就会导致数据库查询得到的值是NULL,前端读取时只有一个孤零零的“元”字显示在上面却没有数值,满屏的尴尬

这个时候我们需要用到SQL的函数COALESCE,作用是将NULL值替换成其他值将返回传入的参数中第一个非NULL的值。

解决方法:

SELECT COALESCE(SUM(余额),0) FROM 商户表

这样的话,输出的时候就不会导致NULL值的出现而尴尬了,前端所看到的也变成了“0元”,如果将COALESCE内的0改为其他数值,例如改为100,那么就会直接显示"100元"

注:COALESCE()不单单只适用于sum(),这里傲世我只是给大家拿这个做例子,希望能帮到您

本文标签:SQL

版权声明:若无特殊注明,本文为《小傲世》原创,转载请保留文章出处。

本文链接:https://pjax.vip/100.html

正文到此结束

sql 当为空值时置0_SQL查询值为空时默认输出0的方法相关推荐

  1. 帆软报表等于空的时候不显示_查询结果为空时不显示报表内容

    2.1 准备数据 新建普通报表,新建数据库查询 ds1,SQL 查询语句为:SELECT * FROM 销量 WHERE 地区='${地区}',如下图所示: 2.2 表格设计 A1~C1 单元格输入标 ...

  2. Mybatis为什么查询结果为空时返回值为NULL或空集合?

    以下内容如有错误欢迎指出,有则改之无则加勉~ 一行数据记录如何映射成一个 Java 对象,这种映射机制是 MyBatis 作为 ORM 框架的核心功能之一,也是我们这篇文章需要学习的内容 开始前我们先 ...

  3. java按条件查询结果为空_mybatis中查询结果为空时不同返回类型对应返回值问题...

    今天在别人的代码基础上实现新需求,看到对于mybatis查询结果的判断不是很正确,如果查询结果为空就会异常,不知道大家有没有这样的疑惑:mybatis中resultType有多种返回类型,对于每种不同 ...

  4. 帆软报表查询结果为空时不显示报表内容

    查询结果为空时不显示报表内容 描述: 在制作一些报表的时候,为了美观,整洁,通常需要将查询结果为空的行不显示在报表中,这也是最近开发过程中碰到的一个需求,那么这种效果怎么实现呢? 处理思路: 报表区域 ...

  5. Cache 'redisCache' does not allow 'null' values;设置值为空时不存入Redis;设置unless无效;

    [2019-03-05 23:16:46.695] - 20388 严重 [http-nio-8089-exec-5] --- org.apache.catalina.core.ContainerBa ...

  6. Oracle中SQL查询字段值为空时,指定默认值

    一.实现效果 实现设备字段有值显示[加工]否则显示[未加工] 二.Oracle中NVL 2.1.NVL函数功能介绍 NVL 是Oracle的函数,功能是实现空值的转换,如果fieldName为NULL ...

  7. mysql null 查询条件_MySql当查询条件为空时不作为条件查询

    之前遇到一个很麻烦的条件查询.就是有很多个条件,并且条件可能有,也有可能没有.又不是像mybatis那样又专门的SQL.xml文件,需要自己写sql文.这种情况下,需要去判断每个条件是不是为空,后来发 ...

  8. 【SpringBoot整合Mybatis】数据库某字段值为空时,接口未返回该字段 解决办法

    [SpringBoot整合Mybatis]数据库字段为空时,接口不返回该字段 解决办法 问题描述: 排查问题: 解决问题: 测试: 参考资料: 今天整合项目的时候,发现了SpringBoot整合Myb ...

  9. Excel 函数Min求最小值值为空时为零的情况如何处理,或者排除0怎么做

    MIN函数求最小值,空为零的处理及文字为零的处理 Excel中,用MIN函数求最小值,往往出来的0是因为值为空,有时值中如果存在文字,或者取不到值,也会造成为0.这是由于MIN函数的特性决定的,那么, ...

最新文章

  1. js 浅拷贝直接赋值_js的浅拷贝和深拷贝的简单理解和使用方法
  2. BZOJ 2959 长跑 (LCT、并查集)
  3. 使用SAP CRM中间件XIF(External Interface)一步步创建服务订单
  4. linux7做服务器,centos7 搭建yum服务器
  5. HTTP标准相关的基础概念
  6. C++ STL容器值set
  7. python画折线图代码实现_python如何绘制分布折线图 python绘制分布折线图代码示例...
  8. 理解eos区块链的eosio.token合约
  9. 孩子教育经验,自己整理,不看后悔一辈子
  10. SAP License:在LMLCCS_UPDATEF02 LCL_DB 内部错误的解决办法
  11. 不小心使用了私有API的后果
  12. Excel如何删除表格中的空白列
  13. 索尼 电视 android 8,索尼电视停止安卓8.0固件下载:因存在无法连接Wi-Fi的情况...
  14. excel 中的图片删除不了怎么办
  15. Koo叔说Shader-CG语言介绍
  16. 乔纳森·艾维:iPhoneX准备了五年,苹果仍在不断创新
  17. GPD8106B设计方案|USB音频解码方案|USB耳机方案|USB麦克风方案|代理商现货
  18. 面试官问你如何进行程序设计?——设计模式之七大原则——接口隔离、合成复用、迪米特法则以及C++设计实现
  19. 说说抖音和小红书的交互和界面设计,您更喜欢哪一个?
  20. 简历被公司浏览分布图-来自前程无忧

热门文章

  1. 20145238-荆玉茗 《Java程序设计》第五次实验报告
  2. 【特征】PSI的计算
  3. 二进制拆弹(炸弹炸掉了我的头发 T.T)
  4. 基于php的微信公众平台开发入门实例
  5. 【RL系列】Multi-Armed Bandit问题笔记
  6. Codeup(云效)手把手教部署SpringCloud项目到私有主机
  7. http-parser用法
  8. 中国大学慕课公开课-《视听语言》-学习笔记-6
  9. 卷妹的成长日记之javaweb day2
  10. 【转发】RS485总线拓扑结构