数据湖探索 DLI-条件表达式:CASE表达式

时间:2024-11-08 09:33:26

CASE表达式

语法格式

1
2
3
CASE value WHEN value1 [, value11 ]* THEN result1
  [ WHEN valueN [, valueN1 ]* THEN resultN ]* [ ELSE resultZ ]
  END

1
2
3
CASE WHEN condition1 THEN result1
  [ WHEN conditionN THEN resultN ]* [ ELSE resultZ ]
  END

语法说明

  • 当value值为value1则返回result1,不满足则返回resultZ,若没有else语句,则返回null。
  • 当condition1为true时返回result1,不满足则返回resultZ,若没有else语句,则返回null。

注意事项

  • 所有result的类型都必须一致。
  • 所有condition类型都必须是布尔类型。
  • 当没有满足的分支时,若指定else语句,则返回else的值,若没有else语句,则返回null。

示例

当units等于5时返回1,否则返回0。

示例1:

1
insert into temp SELECT  CASE units WHEN 5 THEN 1 ELSE 0 END FROM Orders;

示例2:

1
insert into temp SELECT CASE WHEN units = 5 THEN 1 ELSE 0 END FROM Orders;
support.huaweicloud.com/sqlreference-dli/dli_08_0103.html