在数据库操作中,往往要对一些查询出来的空值进行替换,如函数SUM(),这个函数如果没有值会返回NULL,这是我们不希望看到的,

在MySQL中我们可以这样来写:

select IFNULL(sum(data),0) ...

在SQLSERVER中我们可以这样写:

selectISNULL(sum(data),0) ...

在ORACLE中我们可以这样写:

select NVL(sum(data),0) ...

对于所有数据库适用的方法可以这样写:

selectCOALESCE(sum(data),0) ...

COALESCE()用法:

COALESCE(value,...)

返回第一个不是null的值,如果参数列表全是null,则返回null

sSELECT COALESCE(NULL,1);
        -> 1

SELECT COALESCE(NULL,NULL,NULL);
        -> NULL

 

用 ISNULL(), NVL(), IFNULL() and COALESCE() 函数替换空值的更多相关文章

  1. sql,用 ISNULL(), NVL(), IFNULL() and COALESCE() 函数替换空值

    在数据库操作中,往往要对一些查询出来的空值进行替换,如函数SUM(),这个函数如果没有值会返回NULL,这是我们不希望看到的, 在MySQL中我们可以这样来写: ) ... 在SQLSERVER中我们 ...

  2. MySQL中的isnull、ifnull和nullif函数用法

    isnull(expr) 如expr为null,那么isnull()的返回值为1,否则返回值为0. mysql>select isnull(1+1); ->0 mysql>selec ...

  3. Oracle null判断并替换空值

      可用 NVL(), IFNULL() ,COALESCE(),DECODE() 函数 1.NVL() 从两个表达式返回一个非 null 值.语法NVL(eExpression1, eExpress ...

  4. mssql sqlserver isnull coalesce函数用法区别说明

    摘要: 下文讲述isnull及coalesce空值替换函数的区别 isnull.coalesce函数区别:1.isnull 只能接受两个参数,而coalesce函数可以接受大于等于两个以上参数2.is ...

  5. Oracle中的NVL,NVL2,NULLIF以及COALESCE函数使用

    首先注意空(null)值,空值加任何值都是空值,空值乘任何值也都是空值,依此类推. 1.NVL函数 NVL函数的格式如下:NVL(expr1,expr2) 含义是:如果oracle第一个参数为空那么显 ...

  6. oracle几个函数整理 DECODE() NVL NVL2 NULLIF Coalesce(转)

    DECODE() decode()函数简介: 主要作用:将查询结果翻译成其他值(即以其他形式表现出来,以下举例说明): 使用方法: Select decode(columnname,值1,翻译值1,值 ...

  7. mysql IFNULL函数和COALESCE函数使用技巧

    IFNULL() 函数      IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值. IFNULL() 函数 ...

  8. oracle函数nvl,nvl2的区别,nullif函数,coalesce函数

    在oracle中用nvl和nvl2函数来解决为空的情况,例如,如果奖金为空,则为它指定一个数.也就是nvl(奖金字段,指定的奖金),但是两个的类型要一致. 1)nvl()函数 SQL> sele ...

  9. mysql coalesce函数

    COALESCE函数从值列表中返回第一个非NULL的值,当遇到NULL值时将其替换为0. coalesce(str1,str2....); e.g.   需要在表中查出所有比'WARD'提成(COMM ...

随机推荐

  1. 你们都是怎么阅读android系统源码的,用什么工具?

    如果是eclipse,可以建立java或者c++工程,把framework源码导入.packages目录下的可以建立android工程.sourceinsight的话,建立工程把相应模块的代码添加进去 ...

  2. 数学:lucas定理的总结

    今天考试的题目中有大组合数取模,不会唉,丢了45分,我真是个弱鸡,现在还不会lucas. 所以今天看了一下,定理差不多是: (1)Lucas定理:p为素数,则有: 即:lucas(n,m,p)=c(n ...

  3. [转]ESCAPE()、ENCODEURI()、ENCODEURICOMPONENT()区别详解

    escape().encodeURI().encodeURIComponent()区别详解 JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encode ...

  4. Ubuntu全新系统一些配置

    0.安装JDK,http://www.oracle.com/technetwork/java/javase/downloads/index.html 1.安装Intellij IDEA,https:/ ...

  5. [GRYZ2014]递增子序列最大和

    [问题描述] 给定长度为n的正整数序列a1,a2,…,an. 求一个递增的子序列,和最大. [输入] 第一行,n,表示给定序列的个数. 第二行,n个用空格隔开的正整数. [输出] 递增子序列的最大和. ...

  6. Bzoj 4408: [Fjoi 2016]神秘数 可持久化线段树,神题

    4408: [Fjoi 2016]神秘数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 177  Solved: 128[Submit][Status ...

  7. HW4.15

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  8. Testing和Instrumentation(转)

    Android提供了一系列强大的测试工具,它针对Android的环境,扩展了业内标准的JUnit测试框架.尽管你可以使用JUnit测试Android工程,但Android工具允许你为应用程序的各个方面 ...

  9. noip 2015 提高组

    算是填个坑吧 , QwQ Day 1 第一题很水,就是考代码能力 ,直接贴代码. #include <iostream> #include <cstdlib> #include ...

  10. ACMDP之最长公共子序列长度—HDU1159

    Common Subsequence Problem Description A subsequence of a given sequence is the given sequence with ...