文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-04-02 19:55

关注

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

一、通用函数

函数 说明
NVL 语法:NVL(expr1,expr2)
说明:如果expr1为NULL,则该函数显示expr2的值;
例子:
  1. SELECT SALARY, NVL(TO_CHAR(COMMISSION_PCT), 0) FROM EMPLOYEES;

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

  2.        SALARY,

  3.        COMMISSION_PCT,

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

  5.   FROM EMPLOYEES

  6.  WHERE DEPARTMENT_ID IN (50, 80);


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

  2.        LENGTH(FIRST_NAME) "expr1",

  3.        LAST_NAME,

  4.        LENGTH(LAST_NAME) "expr2",

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

  6.   FROM EMPLOYEES;

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


  2. 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、条件控制语句中嵌套函数达到理想的计算效果
例句:
  1. SELECT last_name,salary,

  2.        (CASE WHEN salary<5000 THEN 'Low'

  3.              WHEN salary<10000 THEN 'Medium'

  4.              WHEN salary<20000 THEN 'Good'

  5.              ELSE 'Excellent'

  6.        END) qualified_salary

  7. FROM employees;

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

  2.        DECODE(WAREHOUSE_ID,

  3.               1, 'Southlake',

  4.               2, 'San Francisco',

  5.               3, 'New Jersey',

  6.               4, 'Seattle',

  7.               'Non-domestic') "Location of inventory"    

  8.   FROM INVENTORIES    

  9.  WHERE PRODUCT_ID < 1775;

三、嵌套函数

例句:

  1. SELECT LAST_NAME,

  2.       SALARY,

  3.       DECODE(TRUNC(SALARY / 2000, 0),

  4.               0, 0.00,

  5.               1, 0.09,

  6.               2, 0.20,

  7.               3, 0.30,

  8.               4, 0.40,

  9.               5, 0.42,

  10.               6, 0.44,

  11.               0.45) TAX_RATE

  12.   FROM EMPLOYEES

  13.  WHERE DEPARTMENT_ID = 80;

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯