1、单表查询

查询表中所有的行和列

select * from table_name;

按照某行的内容进行筛选查询

select * from table_name where table_column='具体值';

空值查询

select * from table_name where table_column is null;
--需要注意:null不能使用运算符判断,比如:'='、'>'、'>='

将空值转化为实际值

NVL( string1, replace_with)

select NVL('','abc') as test from dual;
--结果值
test
---
abc

通过以上实例可以看到,NVL函数的功能就是:如果`string1`为空,返回`replace_with`,否则返回`string1`本身。

NVL2(expression_1, expression_2,expression_3)

例一:

select nvl2('','abc','def') as test from dual;
--结果值:
test
---
def

例二:

select nvl2('a','abc','def') as test from dual;
--结果值:
test
---
abc

从以上两个实例可以看出,NVL2的功能:如果`expression_1`为空,则返回`expression_3`,

否则返回`expression_2`,也就是说这个函数永远不会返回`expression_1`。

coalesce(expression_1, expression_2, ...,expression_n)

select coalesce('','','','','abc') as test from dual;
--结果值
test
---
abc

coalesce这个函数就非常有用了,他的功能:依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。

文章作者: zlinks
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ZFS的成长之路
Oracle Oracle查询优化
喜欢就支持一下吧