我是靠谱客的博主 烂漫学姐,这篇文章主要介绍hive条件查询1、语法2、演示样例3、数据4、实例,现在分享给大家,希望可以做个参考。

1、语法

条件语句描述返回
Isnull( a )当(a)的值为NULL时,此方法返回true,否则返回false。Return: boolean
Isnotnull ( a )当(列)的值不为NULL时,此方法返回true,否则返回false。Return: boolean
If(boolean testCondition, T valueTrue, T valueFalseOrNull)类似于SQL查询中存在的IF条件。当testConditiontrue时,此方法返回valueTrue,否则返回valueFalseOrNullReturn: T
Nvl(T value, T default_value)这会将列T的所有空值替换为默认值Return: T
COALESCE(T v1, T v2, …)返回不为NULL的第一个v,如果所有v均为NULL,则返回NULL。Return: T
CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END这类似于switch语句,其中当a = b时,返回c; 当a = d时,返回e; 否则返回f。Return: T
CASE WHEN a THEN b [WHEN c THEN d]* [ELSE e] END当a = true时,返回b; 当c = true时,返回d; 否则返回e。Return: T
Nullif( a, b )Return: T
Assert_true(boolean condition)

2、演示样例

复制代码
1
2
3
4
5
6
7
8
9
10
11
CREATE TABLE IF NOT EXISTS employee ( id int, name string, age int, gender string, salary decimal ) COMMENT 'Employee Table' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

3、数据

复制代码
1
2
3
4
5
6
7
1,James,30,M,10000 2,Ann,40,F,20000 3,Jeff,41,M,30000 4,Jennifer,20,F,40000 5,Kum,30,M, 7,Jeni,,,

4、实例

4.1 Isnull( a )

当(列)的值为NULL时,此方法返回true,否则返回false。

复制代码
1
2
3
4
5
6
7
8
hive> select salary ,isnull(salary) from employee where gender="M"; 10000 false 30000 false NULL true

4.2 Isnotnull(a)

当(列)的值不为NULL时,此方法返回true,否则返回false。

复制代码
1
2
3
4
5
6
7
hive> select salary ,isnull(salary) from employee where gender="M"; 10000 true 30000 true NULL false

4.3 If(boolean testCondition, T valueTrue, T valueFalseOrNull)

类似于SQL查询中存在的IF条件。如果testCondition为true,则返回valueTrue,否则返回valueFalseOrNull

句法: if(boolean testCondition, T valueTrue, T valueFalseOrNull)

复制代码
1
2
3
4
5
6
7
hive> select salary ,if(isnull(salary),'No Salary','Present Salary') from employee where gender="M"; 10000 Present Salary 30000 Present Salary NULL No Salary

4.4 Nvl(T value, T default_value)

这会将列T的所有空值替换为默认值

复制代码
1
2
3
4
5
6
7
select salary ,Nvl(salary ,-1) from employee where gender="M"; 10000 10000 30000 30000 NULL -1

4.5 CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END

这类似于switch语句,其中当a = b时,返回c; 当a = d时,返回e; 否则返回f。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
hive> select salary, case salary when 10000 then 1 > when 30000 then 3 > else -1 > end > from employee where gender ="M"; 10000 1 30000 3 NULL -1

4.6 CASE WHEN a THEN b [WHEN c THEN d]* [ELSE e] END

当a = true时,返回b; 当c = true时,返回d; 否则返回e。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
hive> select salary,gender, > case when salary <10001 then 1 > when salary >10001 then 3 > else -1 > end > from employee where gender="M"; 10000 M 1 30000 M 3 NULL M -1

最后

以上就是烂漫学姐最近收集整理的关于hive条件查询1、语法2、演示样例3、数据4、实例的全部内容,更多相关hive条件查询1、语法2、演示样例3、数据4、实例内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(116)

评论列表共有 0 条评论

立即
投稿
返回
顶部