条件函数
所有文档
menu
没有找到结果,请重新输入

PALO

条件函数

Doris 支持的条件函数如下:

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
字符串函数数学函数