Oracle 中null的常用处理方法

null的处理 Null 不支持加减乘除,大小比较,相等比较,否则只能为空;只能用‘is [not] null’来进行判断;Max等聚合函数会自动“过滤nul
  • null的处理
  1. Null 不支持加减乘除,大小比较,相等比较,否则只能为空;只能用‘is [not] null’来进行判断;
  2. Max等聚合函数会自动“过滤null” 
  3. null排序默认最大:

4.处理:

 1)NVL(expr1,expr2)

当两个参数数据类型不同时,oracle会将两个参数进行隐式转换,如果不能隐式转换刚 会报错,隐式转换规则如下

         1.如果参数1为字符型,则把参数2转换为参数1的类型,返回值为 VARCHAR2

         2.如果参数1为数值型,则判断两个参数的最高数值优先级(如双精实数比单 精实 数优先级高),然后转换成高优先级的数值,返回该类型的值.

2)  NVL2(expr1,expr2, expr3)只看expr2类型

如果expr1不为NULL,返回expr2; expr1为NULL,返回expr3。
expr2和expr3类型不同的话,expr3会转换为expr2的类型,转换不了,则报错。

3) COALESCE ( expression,value1,value2……,valuen) :数据类型要一致

将会返回包括expression在内的所有参数中的第一个非空表达式

如果expression不为空值则返回expression;否则判断value1是否是空值,

如果value1不为空值则返回value1;否则判断value2是否是空值,

如果value2不为空值则返回value2;……以此类推,
如果所有的表达式都为空值,则返回NULL