• Orcal nvl函数


    NVL(E1, E2)的功能为:如果E1为NULL,则函数返回E2,否则返回E1本身。但此函数有一定局限,所以就有了NVL2函数。
    拓展:NVL2函数:Oracle/PLSQL中的一个函数,Oracle在NVL函数的功能上扩展,提供了NVL2函数。NVL2(E1, E2, E3)的功能为:如果E1为NULL,则函数返回E3,若E1不为null,则返回E2。
    NVL函数的功能是实现空值的转换,根据第一个表达式的值是否为空值来返回响应的列名或表达式,主要用于对数据列上的空值进行处理,语法格式如:NVL( string1, replace_with)
    如果第一个参数的值为空值,则返回第二个参数的值,否则返回第一个参数的值。如果两个参数的值都为空值,则返回空值。第一个参数和第二个参数可以是任何类型的数据,但两个参数的数据类型必须相同(或能够由Oracle隐式转换为相同的类型)。
     
    引申一下,此NVL的作用与SQLserver 中的 ISNULL( string1, replace_with) 一样。
    另一个有关的有用方法
    declare i integer
    select nvl(sum(t.dwxhl),1) into i from tb_jhde t 
    where zydm=-1
    这样就可以把获得的合计值存储到变量
    i中,如果查询的值为null就把它的值设置为默认的1
    oracle中:
    select nvl(rulescore,0) from zwjc_graderule 
    where rulecode='FWTD';
    如果记录中不存在rulecode ='FWTD'的数据.则查不出数据.
    select nvl(rulescore,0) into rule_score from zwjc_graderule 
    where rulecode='FWTD';
    会报查不到数据的错
    select nvl(sum(rulescore),0) from zwjc_graderule 
    where rulecode='FWTD';
    如果记录中不存在rulecode ='FWTD'的数据.还是可以得到一行列名为nvl(rulescore,0),值为0的数据.
    select nvl(sum(rulescore),0) into rule_score from zwjc_graderule
    where rulecode='FWTD'; 
    不会报错
  • 相关阅读:
    python的进阶--爬虫小试
    【centos 7】搭FTP服务和web访问
    centos 7 安装python3.5
    centos 6.5 安装mysql 5.6.35--libc.so.6(GLIBC_2.14)(64bit)
    windows 10 下安装python 2.7
    centos7-硬盘坏道检测
    centos7 默认进入系统命令行模式修改
    zabbix安装配置(2.4.5)
    Centos 7 mysql 安装使用记
    docker部署angular和asp.net core组成的前后端分离项目
  • 原文地址:https://www.cnblogs.com/luzhanshi/p/11896055.html
Copyright © 2020-2023  润新知