百度数据仓库 Palo SQL语法手册 - 条件函数
文档简介:
PALO 支持的条件函数如下:
1.case
2.coalesce
3.if
4.ifnull
5.nullif
PALO 支持的条件函数如下:
1.case
2.coalesce
3.if
4.ifnull
5.nullif
CASE
Description
CASE a WHEN b THEN c [WHEN d THEN e]... [ELSE f] END
- 功能:将表达式和多个可能的值进行比较,当匹配时返回相应的结果
- 返回类型:匹配后返回结果的类型
Example
mysql> select case tiny_column when 1 then "tiny_column=1" when 2 then "tiny_column=2"
end from small_table limit 2; +-------------------------------------------------------
------------------------+ | CASE`tiny_column` WHEN 1 THEN 'tiny_column=1' WHEN 2 THEN
'tiny_column=2' END | +------------------------------------------------------------------
-------------+ | tiny_column=1 | | tiny_column=2 | +----------------------------------------
---------------------------------------+ mysql> select case when tiny_column = 1 then "tiny_column=1"
when tiny_column = 2 then "tiny_column=2" end from small_table limit 2; +-------------------------
------------------------------------------------------+ | CASE`tiny_column` WHEN 1 THEN 'tiny_column=1'
WHEN 2 THEN 'tiny_column=2' END | +-----------------------------------------------------------------
--------------+ | tiny_column=1 | | tiny_column=2 | +------------------------------------------------
-------------------------------+
Keywords
case
COALESCE
Description
coalesce( expression,value1,value2……,valuen)
- 功能:返回包括expression在内的所有参数中的第一个非空表达式。expression为待检测的表达式,而其后的参数个数不定。
- 返回类型:匹配后返回结果的类型
Example
mysql> select coalesce(NULL, '1111', '0000'); +------------------------------
--+ | coalesce(NULL, '1111', '0000') | +--------------------------------+ | 1111 | +--------------------------------+
Keywords
coalesce
IF
Description
if(boolean condition, type ifTrue, type ifFalseOrNull)
- 功能:测试一个表达式,根据结果是true还是false返回相应的结果
- 返回类型:ifTrue表达式结果的类型
Example
mysql> select if(tiny_column = 1, "true", "false") from small_table limit 1; +---------------------
-------------------+ | if(`tiny_column` = 1, 'true', 'false') | +-------------------------------
---------+ | true | +----------------------------------------+
Keywords
if
IFNULL
Description
ifnull(expr1, expr2)
- 功能:测试一个表达式,如果表达式是NULL,则返回第二个参数,否则返回第一个参数。
- 返回类型:第一个参数的类型
Example
mysql> select ifnull(1,0); +--------------+ | ifnull(1, 0) | +--------------+ | 1 | +---------
-----+ mysql> select ifnull(null,10); +------------------+ | ifnull(NULL, 10) | +-----
-------------+ | 10 | +------------------+
Keywords
ifnull
NULLIF
Description
nullif(expr1, expr2)
- 功能:如果两个参数相等,则返回NULL。否则返回第一个参数的值。它和以下的CASE WHEN效果一样。
- 返回类型:expr1的类型或者NULL
CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END
Example
mysql> select nullif(1,1); +--------------+ | nullif(1, 1) | +--------------+ | NULL | +----
----------+ mysql> select nullif(1,0); +--------------+ | nullif(1, 0) | +--------------+ | 1 | +--------------+
Keywords
nullif