暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

云和恩墨MogDB数据库扩展-dolphin语法介绍 条件表达式

原创 由迪 2023-04-24
217

条件表达式

相比于原始的MogDB,dolphin对于条件表达式的修改主要为: 1. 新增IFNULL/IF表达式。

  • IFNULL

    等价于NVL,NVL的语法图请参见下图:

    图 1 nvl::= nvl

    如果value1为NULL则返回value2,如果value1非NULL,则返回value1。

    示例:

    MogDB=# SELECT ifnull(null,1); ifnull ------- 1 (1 row)
    MogDB=# SELECT ifnull ('Hello World' ,1); ifnull ------------- Hello World (1 row)
  • IF

    仅支持IF(expr1,expr2,expr3),等价于CASE WHEN expr1 THEN expr2 ELSE expr3 END。

    CASE表达式的语法图请参考下图:

    图 2 case::= case

    CASE子句可以用于合法的表达式中。condition是一个返回BOOLEAN数据类型的表达式:

    • 如果结果为真,CASE表达式的结果就是符合该条件所对应的result。
    • 如果结果为假,则以相同方式处理随后的WHEN或ELSE子句。
    • 如果各WHEN condition都不为真,表达式的结果就是在ELSE子句执行的result。如果省略了ELSE子句且没有匹配的条件,结果为NULL。

    示例:

    MogDB=# CREATE TABLE case_when_t1(CW_COL1 INT); MogDB=# INSERT INTO case_when_t1 VALUES (1), (2), (3); MogDB=# SELECT * FROM case_when_t1; cw_col1 --------- 1 2 3 (3 rows) MogDB=# SELECT CW_COL1, IF(CW_COL1=1, 'one', 'other') FROM case_when_t1 ORDER BY 1; cw_col1 | case ---------+------- 1 | one 2 | other 3 | other (3 rows) MogDB=# DROP TABLE case_when_t1;

MogDB 是云和恩墨基于opengauss 企业级数据库

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论