这篇文章将为大家详细讲解有关数据库中通用函数和条件表达式有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、通用函数函数说明NVL语法:NVL(expr1,expr2)说明:如果expr1为NULL,则该函数显示expr2的值;例子:

SELECT SALARY, NVL(TO_CHAR(COMMISSION_PCT), 0) FROM EMPLOYEES;

NVL2语法:NVL2(expr1,expr2,expr3)说明:如果expr1的值为NULL,则该函数显示expr3的值;不为NULL,显示expr2的值;例子:

SELECT LAST_NAME,

SALARY,

COMMISSION_PCT,

NVL2(COMMISSION_PCT, 'SAL+COMM', 'SAL') INCOME

FROM EMPLOYEES

WHERE DEPARTMENT_ID IN (50, 80);


NULLIF语法:NULLIF(expr1,expr2)说明:如果expr1=expr2,返回NULL;若不等,则返回第一个表达式的值;例子:

SELECT FIRST_NAME,

LENGTH(FIRST_NAME) "expr1",

LAST_NAME,

LENGTH(LAST_NAME) "expr2",

NULLIF(LENGTH(FIRST_NAME), LENGTH(LAST_NAME)) RESULT

FROM EMPLOYEES;

COLESCE语法:COALSECE(expr1,expr2,expr3)说明:如果全为NULL,则函数值为NULL;若有一项不为NULL,则显示那一项exprN;若三项都不为空,则显示最前面的一项expr;例子:

SELECT COALESCE(NULL, 1, 2, 3, 4) FROM DUAL;


SELECT COALESCE(NULL, NULL, 2, 3, 4) FROM DUAL;

二、条件表达函数函数说明CASE语法:
CASE expr
WHEN comparison_expr1THEN return_expr1
[WHENcomparison_expr2 THENreturn_expr2
WHENcomparison_exprn THENreturn_exprn
ELSE else_expr]
END说明:
1、对已知的数据库中数据,按照自己的逻辑,进行自定义分组和数据分析
2、用此条件控制语句,实现自定义条件分组
3、条件控制语句中嵌套函数达到理想的计算效果例句:

SELECT last_name,salary,

(CASE WHEN salary<5000 THEN 'Low'

WHEN salary<10000 THEN 'Medium'

WHEN salary<20000 THEN 'Good'

ELSE 'Excellent'

END) qualified_salary

FROM employees;

DECODE语法:
DECODE(col|expression, search2, result1
[, search3, result2,...,]
[, default])说明:decode 具有和 IF-THEN-ELSE 一样的功能。例句:

SELECT PRODUCT_ID,

DECODE(WAREHOUSE_ID,

1, 'Southlake',

2, 'San Francisco',

3, 'New Jersey',

4, 'Seattle',

'Non-domestic') "Location of inventory"    

FROM INVENTORIES    

WHERE PRODUCT_ID < 1775;

三、嵌套函数

例句:

SELECT LAST_NAME,

SALARY,

DECODE(TRUNC(SALARY / 2000, 0),

0, 0.00,

1, 0.09,

2, 0.20,

3, 0.30,

4, 0.40,

5, 0.42,

6, 0.44,

0.45) TAX_RATE

FROM EMPLOYEES

WHERE DEPARTMENT_ID = 80;

关于“数据库中通用函数和条件表达式有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。