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,'equalsNum1','equalsNum2'),--表示第一个参数和其后面的每组条件(两个参数为一组,1表示比较值,'equalsNum1'表示匹配比较值之后的返回值)
greatest(1,3) maxOne,--返回三个中的最大值
least(1,3) minOne,--返回三个数字之间的最小值,
lpad('func',15,'='),--左添充,在字符串'func'的左边添加 10 个 '='(15表示结果字符串的总长度)
rpad('func','-') --右填充,在字符串'func'的右边边添加 10 个 '-'(15表示结果字符串的总长度)
from dual;
2.2 使用用途
a. 空值判断取值;b. 比较大小取值;
c. 特殊格式输出; 原文链接:https://www.f2er.com/oracle/212269.html