DECODE 函数和 CASE-WHEN 表达式的比较

DECODE 函数和 CASE-WHEN 表达式的比较在 SQL 中我们通常认为以下两种写法是等价的: DECODE(PARAM, VALUE1, RESULT1, [VALUE2, RESULT2, …] DEFAULT_RESULT) CASE…

DECODE 函数和 CASE-WHEN 表达式的比较

在 SQL 中我们通常认为以下两种写法是等价的:

DECODE(PARAM, VALUE1, RESULT1, [VALUE2, RESULT2, …] DEFAULT_RESULT)

CASE PARAM WHEN VALUE1 THEN RESULT1 [WHEN VALUE2 THEN RESULT2 …] ELSE DEFAULT_RESULT END

  1. 虽然一个叫函数,一个叫表达式,但实际上二者都在行为上都很像 IF-ELSIF-ELSE 流程控制语句,会按书写顺序执行判断,遇到符合条件的情况则返回相应的值,后面的情况涉及到的语句不会被执行(例如开销较大的函数)
  2. 都可以省略默认值的(CASE 省略默认值的方式是不写 ELSE 子句),如果省略默认值但又未找到匹配则返回 NULL;
  3. 都可以在 SQL 中任何需要“值”的地方使用;

实际上 DECODE 和 CASE-WHEN 还是有一些差别的,我把自己知道的列在了下面,欢迎读者补充!

  DECODE CASE-WHEN
适用数据库 Oracle 专属 SQL 标准
可用于 PL/SQL
特殊匹配逻辑 NULL 可与 NULL 匹配
(通常情况下 NULL 不会与任何值相等,只能用 IS NULL 判断)
如 CASE 后没有表达式
可在 WHEN 和 THEN 中填写任意条件表达式
返回值类型不同时 某个返回值在语句执行中实际返回时
向第一个返回值的类型隐式转换
所有返回值在语句解析时
与第一个返回值类型保持一致

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7510.html

(0)
上一篇 2023-03-19
下一篇 2023-03-19

相关推荐

  • Python log10函数的精度控制

    Python log10函数的精度控制对于科学计算或数据分析中常用的对数运算,Python中提供了log函数和log10函数。其中,log10函数是以10为底的对数函数,常用于计算pH值、震级、声级等问题。但在执行计算时,有时为了准确性,需要对结果的精度进行控制。本文将从以下几个方面讨论Python log10函数的精度控制。

    2024-01-21
    106
  • 远程链接 vps群控[亲测有效]

    远程链接 vps群控[亲测有效]远程链接 vps群控远程桌面是微软公司为了便于网络管理员管理维护服务器推出的一项服务。从windows 2000 server版本开始引入,网络管理员时候远程桌面连接器连接到网络任意一台开启了远程桌…

    2023-02-24
    149
  • Postgresql统计信息概述[通俗易懂]

    Postgresql统计信息概述[通俗易懂]对于sql优化,除了索引之外,执行计划和统计信息是无法绕开的一个话题,如果sql优化(所有的RDBMS)脱离了统计信息的话就少了一个为什么的过程,味道就感觉少了一大半。刚接触Postgresql,粗浅

    2023-03-25
    150
  • Anaconda历史版本

    Anaconda历史版本作为数据科学家和Python开发者必备的一款工具,Anaconda拥有着众多的用户和高度的关注度。而随着科技的不断发展,Anaconda也在不断更新迭代,不同版本间的差异会对用户带来不同的使用体验。接下来本文将从多个方面详细介绍Anaconda的历史版本,带大家回顾、了解Anaconda的发展历程,以及各版本的新特性。

    2024-05-20
    63
  • Python中多个条件的if语句写法

    Python中多个条件的if语句写法Python是一种高级语言,拥有灵活的语法和丰富的库,适合各种应用场景。if语句是Python中的基本控制结构之一,用于在满足条件时执行一些操作。在编写复杂的程序时,需要使用多个条件进行判断。本文将介绍Python中多个条件的if语句写法。

    2024-08-07
    36
  • mongodb备份与恢复_mongodb备份数据库

    mongodb备份与恢复_mongodb备份数据库备份方法 Oplog介绍 可用于生产环境的备份与恢复脚本 脚本仓库 备份命令 a) 单DB两种方法 (1)mongodump -h localhost:27017 -d db[不能多个] -o /d…

    2023-02-13
    153
  • python安装hanlp(python安装函数不正确)

    python安装hanlp(python安装函数不正确)安装JDK

    2023-11-30
    133
  • BOE(京东方)2020年报发布:营收1355.53亿元  净利润大幅增长162.46%「建议收藏」

    BOE(京东方)2020年报发布:营收1355.53亿元  净利润大幅增长162.46%「建议收藏」4月12日晚,京东方科技集团股份有限公司(京东方A:000725;京东方B:200725)发布2020年年度报告,全年实现营业收入1355.53亿元,同比增长16.80%;归属于上市公司股东的净利润…

    2023-04-10
    161

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注