testbook

条件函数

If, coalesce, CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END, CASE WHEN a THEN b [WHEN c THEN d]* [ELSE e] END
函数名返回类型描述
if(booleantestCondition, T valueTrue, T valueFalseOrNull) String 根据条件真假返回不同的值
说明:
       如果booleantestCondition为true,返回valueTrue,否则返回TvalueFalseOrNull。

举例:
select if(true,'Transwarp','TDH') from src limit 1;
Result: 'Transwarp'


函数名返回类型描述
coalesce(a1, a2, ...) String 返回第一个非null的值
说明:
       返回第一个非null的值。

举例:
select coalesce(null,'Transwarp','TDH') from src limit 1;
Result: 'Transwarp'


函数名返回类型描述
CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END 相应参数类型 根据条件返回不同的值
说明:
       如果a的值为b则执行c……否则执行f。

举例:
select case 't' when 't' then 'Transwarp' else 'TDH' end from src;
Result: 'Transwarp'


函数名返回类型描述
CASE WHEN a THEN b [WHEN c THEN d]* [ELSE e] END 相应参数类型 根据参数真假返回不同值
说明:
       a和c 必须是Boolean类型。

举例:
select case when true then 'Transwarp' else 'TDH' end from src;
Result: 'Transwarp'