数据库中通用函数和条件表达式有哪些

57次阅读
没有评论

共计 1719 个字符,预计需要花费 5 分钟才能阅读完成。

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

一、通用函数
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;

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

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-15发表,共计1719字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)