写点什么

YashanDB DECODE 函数

作者:YashanDB
  • 2025-05-08
    广东
  • 本文字数:540 字

    阅读完需:约 2 分钟

DECODE 表达式相当于条件表达式,与一系列嵌套的 IF-THEN-ELSE 语句类似。

expr的值等于其后列出中的某一个指定 value,则返回紧接着该 value 后的 result;若不等于所列出的所有 value,则返回 default;当 expr 与多个 value 匹配成功时,返回第一个 value 对应的 result。

本函数通常用于做排名等级判断。

当 expr 与各 value 之间的数据类型不一致时:

  • 同时存在数值型和布尔型时,函数返回 invalid datatype。

  • 其它场景中,函数先将数据类型进行统一再比较,统一规则参见比较运算符章节描述。

value 也为通用表达式,参照expr描述。

空值同样参与比较,其中,当 expr 与 value 均为 NULL 时,执行匹配成功处理。

示例

SELECT employee_name Name,DECODE(sex,'1','Male','2','Female','Unknown') SexFROM employees;NAME          SEX      ------------- ---------Mask          Male    John          Male    Anna          Unknown Jack          Male    Jim           Male     SELECT DECODE('',1,1,2) res1,DECODE(1,1,1,'1',2,3) res2,DECODE(1,'',1,'1',2,3) res3,DECODE('','',1,3) res4FROM DUAL;        RES1         RES2         RES3         RES4------------ ------------ ------------ ------------           2            1            2            1
复制代码


用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
YashanDB DECODE函数_YashanDB_InfoQ写作社区