#openGauss #入门 #安装 #数据库 #开源
知识来源:docs-opengauss.osinfra.cn/zh/
条件表达式
在执行SQL语句时,可通过条件表达式筛选出符合条件的数据。
条件表达式主要有以下几种:
-
CASE
CASE表达式是条件表达式,类似于其他编程语言中的CASE语句。
CASE表达式的语法图请参考图1。
图 1 case::=
CASE子句可以用于合法的表达式中。condition是一个返回BOOLEAN数据类型的表达式:
- 如果结果为真,CASE表达式的结果就是符合该条件所对应的result。
- 如果结果为假,则以相同方式处理随后的WHEN或ELSE子句。
- 如果各WHEN condition都不为真,表达式的结果就是在ELSE子句执行的result。如果省略了ELSE子句且没有匹配的条件,结果为NULL。
示例:
注:如果模式tpcds不存在。请创建模式tpcds后,再进行建表操作。
sql复制代码openGauss=# CREATE TABLE tpcds.case_when_t1(CW_COL1 INT); openGauss=# INSERT INTO tpcds.case_when_t1 VALUES (1), (2), (3); openGauss=# SELECT * FROM tpcds.case_when_t1; cw_col1 --------- 1 2 3 (3 rows) openGauss=# SELECT CW_COL1, CASE WHEN CW_COL1=1 THEN 'one' WHEN CW_COL1=2 THEN 'two' ELSE 'other' END FROM tpcds.case_when_t1 ORDER BY 1; cw_col1 | case ---------+------- 1 | one 2 | two 3 | other (3 rows) openGauss=# DROP TABLE tpcds.case_when_t1;
#openGauss #入门 #安装 #数据库 #开源