oracle数据库使用过程中问题汇总

1.''和NULL的区别
  1.1 差异比较
      空值具有以下特点:
    * 等价于没有任何值。
    * 与 0、空字符串或空格不同。
    * 在where条件中, Oracle认为结果为NULL的条件为FALSE,带有这样条件的select语句不返回行,并且不返回错误信息。但NULL和FALSE是不同的。
    * 排序时比其他数据都大。
    * 空值不能被索引
  1.2 使用上注意(oracle字段address无论是null还是'',都不能用等号查)
      1.2.1 错误方式
            select count(1) from dual  where null='' or null=null;
      1.2.2 正确方式
            select count(1) from dual  where null is null;
2.特殊函数使用
  2.1 示例
      select 


      nullif(1,1),                      --两个参数相等返回 null,否则,返回第一个参数的值                     
      
      coalesce(null,2,1,3),              --返回第一个非空的值,


      nvl(null,'resultValue'),                         --若第一个参数为空,则返回默认值
      
      nvl2(null,'notNullVal','nullVal'),          --第一个参数为空,则返回第三个参数值,否则返回第二个参数值


      decode(1,1,'equalsNum1',2,'equalsNum2'),--表示第一个参数和其后面的每组条件(两个参数为一组,1表示比较值,'equalsNum1'表示匹配比较值之后的返回值)
      
      greatest(1,2,3) maxOne,                   --返回三个中的最大值
      
      least(1,2,3) minOne,                          --返回三个数字之间的最小值,


      lpad('func',15,'='),                                --左添充,在字符串'func'的左边添加 10 个 '='(15表示结果字符串的总长度)
      
      rpad('func',15,'-')                                  --右填充,在字符串'func'的右边边添加 10 个 '-'(15表示结果字符串的总长度)
      
      from dual;
  

  2.2 使用用途

      a. 空值判断取值;
      b. 比较大小取值;
      c. 特殊格式输出;

     以上内容为个人使用oracle遇到的疑惑和特殊函数用法汇总,欢迎大家探讨和补充,一起学习,共同成长~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值