hive中的逻辑运算符 案列_Hive内置运算符

本章介绍Hive的内置运算符。在Hive有四种类型的运算符:

关系运算符

算术运算符

逻辑运算符

复杂运算符

关系运算符

这些操作符被用来比较两个操作数。下表描述了在Hive中可用的关系运算符:

运算符

操作

描述

A = B

所有基本类型

如果表达A等于表达B,结果TRUE ,否则FALSE。

A != B

所有基本类型

如果A不等于表达式B表达返回TRUE ,否则FALSE。

A < B

所有基本类型

TRUE,如果表达式A小于表达式B,否则FALSE。

A <= B

所有基本类型

TRUE,如果表达式A小于或等于表达式B,否则FALSE。

A > B

所有基本类型

TRUE,如果表达式A大于表达式B,否则FALSE。

A >= B

所有基本类型

TRUE,如果表达式A大于或等于表达式B,否则FALSE。

A IS NULL

所有类型

TRUE,如果表达式的计算结果为NULL,否则FALSE。

A IS NOT NULL

所有类型

FALSE,如果表达式A的计算结果为NULL,否则TRUE。

A LIKE B

字符串

TRUE,如果字符串模式A匹配到B,否则FALSE。

A RLIKE B

字符串

NULL,如果A或B为NULL;TRUE,如果A任何子字符串匹配Java正则表达式B;否则FALSE。

A REGEXP B

字符串

等同于RLIKE.

示例

让我们假设employee表由字段:Id, Name, Salary, Designation, 和Dept组成,如下图所示。生成一个查询检索员工详细信息 - ID为1205。

+-----+--------------+--------+---------------------------+------+

| Id | Name | Salary | Designation | Dept |

+-----+--------------+------------------------------------+------+

|1201 | Gopal | 45000 | Technical manager | TP |

|1202 | Manisha | 45000 | Proofreader | PR |

|1203 | Masthanvali | 40000 | Technical writer | TP |

|1204 | Krian | 40000 | Hr Admin | HR |

|1205 | Kranthi | 30000 | Op Admin | Admin|

+-----+--------------+--------+---------------------------+------+

以下查询执行检索使用上述表中的雇员的详细信息:

hive>SELECT*FROM employee WHEREId=1205;

成功执行的查询,能看到以下回应:

+-----+-----------+-----------+----------------------------------+

| ID | Name | Salary | Designation | Dept |

+-----+---------------+-------+----------------------------------+

|1205 | Kranthi | 30000 | Op Admin | Admin |

+-----+-----------+-----------+----------------------------------+

下面的查询执行以检索薪水大于或等于40000卢比的雇员的详细信息。

hive>SELECT*FROM employee WHERESalary>=40000;

成功执行的查询,能看到以下回应:

+-----+------------+--------+----------------------------+------+

| ID | Name | Salary | Designation | Dept |

+-----+------------+--------+----------------------------+------+

|1201 | Gopal | 45000 | Technical manager | TP |

|1202 | Manisha | 45000 | Proofreader | PR |

|1203 | Masthanvali| 40000 | Technical writer | TP |

|1204 | Krian | 40000 | Hr Admin | HR |

+-----+------------+--------+----------------------------+------+

算术运算符

这些运算符支持的操作数各种常见的算术运算。所有这些返回数字类型。下表描述了在Hive中可用的算术运算符:

运算符

操作

描述

A + B

所有数字类型

A加B的结果

A - B

所有数字类型

A减去B的结果

A * B

所有数字类型

A乘以B的结果

A / B

所有数字类型

A除以B的结果

A % B

所有数字类型

A除以B.产生的余数

A & B

所有数字类型

A和B的按位与结果

A | B

所有数字类型

A和B的按位或结果

A ^ B

所有数字类型

A和B的按位异或结果

~A

所有数字类型

A按位非的结果

示例

下面的查询相加两个数字,20和30。

hive>SELECT20+30ADD FROM temp;

在成功执行查询后,能看到以下回应:

+--------+

| ADD |

+--------+

| 50 |

+--------+

逻辑运算符

运算符是逻辑表达式。所有这些返回TRUE或FALSE。

运算符

操作

描述

A AND B

boolean

TRUE,如果A和B都是TRUE,否则FALSE。

A && B

boolean

类似于 A AND B.

A OR B

boolean

TRUE,如果A或B或两者都是TRUE,否则FALSE。

A || B

boolean

类似于 A OR B.

NOT A

boolean

TRUE,如果A是FALSE,否则FALSE。

!A

boolean

类似于 NOT A.

示例

下面的查询用于检索部门是TP并且工资超过40000卢比的员工详细信息。

hive>SELECT*FROM employee WHERESalary>40000&&Dept=TP;

成功执行查询后,能看到以下回应:

+------+--------------+-------------+-------------------+--------+

| ID | Name | Salary | Designation | Dept |

+------+--------------+-------------+-------------------+--------+

|1201 | Gopal | 45000 | Technical manager | TP |

+------+--------------+-------------+-------------------+--------+

复杂的运算符

这些运算符提供一个表达式来接入复杂类型的元素。

运算符

操作

描述

A[n]

A是一个数组,n是一个int

它返回数组A的第n个元素,第一个元素的索引0。

M[key]

M 是一个 Map 并 key 的类型为K

它返回对应于映射中关键字的值。

S.x

S 是一个结构

它返回S的s字段

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值