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

本文详细介绍了Hive中的四种运算符:关系运算符(如=, !=, <, >等)、算术运算符(如+,-,*,/,%等)、逻辑运算符(如AND, OR, NOT等)以及复杂运算符。通过实例展示了如何使用这些运算符进行数据查询,例如根据ID、Salary和Dept筛选员工信息。" 7793368,1150996,Moodle主题定制与界面优化,"['Moodle', '界面设计', '前端开发', '优化', '教育平台']
摘要由CSDN通过智能技术生成

本章介绍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 | +------+--------------+-------------+-------------------+--------+

复杂的运算符

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值