主要有以下四个函数
NVL(N, M) N为null的情况下,取M的值,否则取N的值
NVL2(N, A, B) N为null时,取A的值,否则取B的值 (纠正,N为null时,取B的值,否则取A的值)
NULLIF(M, N) 如果 M 和 N 相等,返回 NULL,否则返回 M。
COALESCE(A1, ……,AN ) 返回第一个不为NULL的值。
用以下SQL建表。
CREATE TABLE test(
a1 varchar2(10),
a2 varchar2(10),
a3 varchar2(10)
);
INSERT INTO test(a1, a2, a3) VALUES(NULL, NULL, 'ccc111');
INSERT INTO test(a1, a2, a3) VALUES(NULL, 'bbb222', 'ccc222');
INSERT INTO test(a1, a2, a3) VALUES('aaa333', 'ccc333', 'ccc333');
测试:
SELECT
nvl(a1, a2),
nvl2(a1, a2, a3),
nullif(a1, a2) ,
coalesce(a1, a2, a3)
FROM test
结果:
NVL(A1,A2) NVL2(A1,A2,A3) NULLIF(A2,A3) COALESCE(A1,A2,A3)
---------- -------------- ------------- ------------------
ccc111 ccc111
bbb222 ccc222 bbb222 bbb222
aaa333 ccc333 aaa333
其中要注意的是:NULLIF(M, N) 如果M和N有一个为NULL时,返回NULL。
分享到:
相关推荐
你是否也为在Oracle里如何实现NULL的比较而犯愁呢?
Oracle分析函数——函数列表 SUM :该函数计算组中表达式的累积和 MIN :在一个组中的数据窗口中查找表达式的最小值 MAX :在一个组中的数据窗口中查找表达式的最大值 AVG :用于计算一个组和数据窗口内表达式的...
NULL 博文链接:https://yangkai.iteye.com/blog/754447
ORACLE PL/SQL 字符串函数、数学函数、日期函数 --【字符串函数】 --字符串截取substr(字段名,起始点,个数) select Name,substr(Name,2,4),substr(Name,0,3),substr(Name,-2,3),substr(Name,-2,1) from t1; --字符...
NULL 博文链接:https://jadeluo.iteye.com/blog/1213549
NULL 博文链接:https://hcty31.iteye.com/blog/1120010
NULL 博文链接:https://wangning1125.iteye.com/blog/2367648
NULL 博文链接:https://fangguanhong.iteye.com/blog/2003526
NULL 博文链接:https://alchemist-x.iteye.com/blog/964995
Oracle常用函数汇总 * SQL Group Functions (num can be a column or expression) * (null values are ignored, default between distinct and all is all) * Miscellaneaous Functions
主要介绍了Orcale的nvl函数和SQL Server的isnull函数的相关资料,需要的朋友可以参考下
NULL 博文链接:https://uule.iteye.com/blog/1912517
NULL 博文链接:https://hbiao68.iteye.com/blog/1538242
NULL 博文链接:https://lauvenman.iteye.com/blog/427946
Oracle日期函数大礼包初学者必学的知识。时间为null的用法 select id, active_date from table1 UNION select 1, TO_DATE(null) from dual;
Oracle Exception汇总(自定义Oracle异常) 使用方法举例: Exception When no_data_found then Dbms_output.put_line(‘no_data_found’); ACCESS_INTO_NULL 为对象赋值前必需初始化对象。对应ORA-06530错误。 CASE...
NULL 博文链接:https://best-sheng.iteye.com/blog/1002955
NULL 博文链接:https://zhaoshunxin.iteye.com/blog/1310548
Oracle的Nvl函数 nvl( ) 函数 从两个表达式返回一个非null 值。 语法 NVL(eExpression1, eExpression2) 参数 eExpression1, eExpression2 如 果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。...
NULL 博文链接:https://superivan.iteye.com/blog/1207685