在Oracle中,即使条件不符合, NVL函数也会执行条件不符合的选项,对于DECODE函数,如果里面有自定义函数,则decode不会执行不符合条件的函数,但是如果decode里面有sequence.nextval,不管条件是否符合,sequence都会自增. 1 --创建一个函数,当被调用时打印“the functionss is executed” 2 CREATE OR REPLACE FUNCTION f_print_str 3 RETURN NUMBER 4 AS 5 BEGIN 6
select * from EMP eselect * from dept dselect * from salgrade s--Oracle特有函数 case whenselect case 2 when 1 then '一' when 2 then '二' when 3 then '三' else '其他' end from dual;--Oracle特有函数 decodeselect decode(3,1,'一',2,'二',3,'三','其他')from dual;--查询员工的领导信息
NVL: Converts a null value to an actual valueNVL2:If expr1 is not null, NVL2 returns expr2. If expr1 is null, NVL2 returns expr3. The argument expr1 can have any data type.NULLIF:Compares two expressions and returns null if they are equal; returns th