文档首页 > > SQL语法参考> 流作业SQL语法> 条件表达式

条件表达式

分享
更新时间: 2020/05/12 GMT+08:00

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;

NULLIF表达式

语法格式

1
NULLIF(value, value)

语法说明

如果值相同,则返回NULL。 例如,NULLIF(5,5)返回NULL; NULLIF(5,0)返回5。

注意事项

无。

示例

当units等于3时返回null,否则返回units。

1
insert into temp SELECT  NULLIF(units, 3) FROM Orders;

COALESCE表达式

语法格式

1
COALESCE(value, value [, value ]* )

语法说明

返回从左到右第一个不为NULL的参数的值。

注意事项

所有value的类型都必须一致。

示例

返回5。

1
insert into temp SELECT  COALESCE(NULL, 5) FROM Orders;
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问