SELECT D.EMPNO, COMM, SAL,NVL2(COMM, SAL + COMM, SAL) FROM SCOTT.EMP D; 3、NULLIF(表达式1,表达式2) 如果第一个表达式和第二个表达式的内容相同,那么返回NULL,否则,返回第一个表达式的值。 SELECT ENAME,NULLIF(LENGTH(ENAME),5) FROM SCOTT.EMP D; 4、COALESCE(列名,表达式1,表达式2,...,表达式...
2)有NULL的情况比较特殊 SELECTnullif(NULL,NULL)FROMdual; SELECTnullif(NULL,100)FROMdual; SELECTnullif(100,NULL)FROMdual; 只有第三句可以成功执行,返回100,也就是第一个参数不能是NULL,但是第二个可以 SQL>SELECTnullif(100,NULL)FROMdual; NULLIF(100,NULL) --- 100 2、COALESCE函数 函数语法:COALESCE(...
如果这两个表达式的值相等,则返回NULL;否则返回expression1的值。 以下是一个使用NULLIF函数的示例: 假设有一个员工表emp,其中包含员工的姓名和工资信息。如果员工的工资为0,则我们想要将其显示为NULL。可以使用以下SQL语句实现: SELECTname,NULLIF(salary,0)asadjusted_salaryFROMemp; 在这个示例中,如果员工的工资为...
一、ORACLE的NVL、NVL2、NULLIF、COALESE 1、NVL(exp1,exp2),用来判断如果字段为null就进行某些操作;如果exp1为null,返回exp2;否则返回exp1(这个函数对应MYSQL的IFNULL) selectnvl(&varA,&varB)fromdual--在oracle里'&varA'可以定义变量,可以手动输入(varA是自定义的) 2、NVL2(exp1,exp2,exp3) 如果exp1不...
nullif(expr1,expr2),如果expr1=expr2,返回空,否则返回expr1,要求两个表达式数据类型一致; SQL> insert into t1 values(9); 说明1:NVL和NVL2函数在进行空值判断的时候,都会将函数内的表达式执行一次。 4、DECODE函数: 是oracle数据库独家提供的函数功能,不是sql标准, ...
nullif(length(first_name),length(last_name)) result FROM EMPLOYEES; ---COALESCE COALESCE(EXPR1,EXPR2,EXPR3...EXPRn) 从左往右数,遇到第一个非null值,则返回该非null值。 多层判断 SELECT LAST_NAME,EMPLOYEE_ID, COALESCE(TO_CHAR(commission_pct),TO_CHAR(manager_id), 'No commission...
SQL>select ename,NVL2(comm,-1,1)from emp;ENAMENVL2(COMM,-1,1)---SMITH1ALLEN-1WARD-1JONES1MARTIN-1BLAKE1CLARK1SCOTT1 上面的例子中。凡是结果是1的原来都不为空,而结果是-1的原来的值就是空。 3. NULLIF函数 NULLIF(exp1,expr2)函数的作用是如果exp1和exp2相等则返回空(NULL),否则返回第一个...
nullif(expr1,expr2),如果expr1=expr2,返回空,否则返回expr1,要求两个表达式数据类型一致; SQL> insert into t1 values(9); 说明1:NVL和NVL2函数在进行空值判断的时候,都会将函数内的表达式执行一次。 4、DECODE函数: 是oracle数据库独家提供的函数功能,不是sql标准, ...
SQL> select nullif(2,2) from dual;NULLIF(2,2)---SQL> select nullif(2,5) from dual;NULLIF(2,5)---2 4)coalesce(a,b,c,d…):可以传入n个参数,返回第一个不为空的值。 -从左到右依次检测a,b,c,d哪一个不为空。当遇到第一个不为空的值,就返回该值。 SQL> select coalesce(null...
在Oracle触发器中,可以使用NULLIF函数来处理某些特定情况下的值。例如,在BEFORE INSERT触发器中,可以使用NULLIF函数来检查插入的值是否符合设定的条件,如果不符合条件,则可以将其设置为NULL。 以下是一个简单的示例,在BEFORE INSERT触发器中使用NULLIF函数: CREATE OR REPLACE TRIGGER check_value BEFORE INSERT ON your...