phton可以做网站吗微软雅黑做网站是否侵权
phton可以做网站吗,微软雅黑做网站是否侵权,网站名字大全,app设计规范目录 一、前言
二、hive 运算符分类
三、hive 运算符操作演示
3.1 数据准备
创建表dual
加载一个文件dual.txt到dual表中
模拟测试
3.2 关系运算符
is null空值判断 is not null 非空值判断
like使用
3.3 算术运算符
取整操作
取余操作: %
位与操作:
…目录 一、前言
二、hive 运算符分类
三、hive 运算符操作演示
3.1 数据准备
创建表dual
加载一个文件dual.txt到dual表中
模拟测试
3.2 关系运算符
is null空值判断 is not null 非空值判断
like使用
3.3 算术运算符
取整操作
取余操作: %
位与操作:
位或操作: |
位异或操作: ^
3.4 逻辑运算符
与操作: A AND B
或操作: A OR B
非操作: NOT A 、!A 在:A IN (val1, val2, ...)
不在:A NOT IN (val1, val2, ...)
逻辑是否存在: [NOT] EXISTS (subquery) 3.5 其他运算符 一、前言
在很多编程语言中都需要运算符去完成一些常规的或复杂的算数运算、逻辑运算等比如mysqljavanginx的shell等等运算符的使用可以让程序和业务变得简单具备更好的灵活性本篇将详细介绍下hive中的运算符的使用。 二、hive 运算符分类 Hive支持的运算符可以分为三大类
关系运算符算术运算符逻辑运算符 官方参考文档官方运算符地址 或者使用下面的命令查看hive系统的相关运算符或函数 -- 1、显示所有的函数和运算符 show functions; -- 2、查看运算符或者函数的使用说明 describe function count; -- 3、使用extended 可以查看更加详细的使用说明 describe function extended count; 如下截取了当前版本下hive的部分运算符 三、hive 运算符操作演示
理论是枯燥的下面通过实际操作来演示下各类运算符的详细使用吧 3.1 数据准备
在Hive中创建一个空表dual用于测试各种运算符的功能 创建表dual
create table dual(id string); 加载一个文件dual.txt到dual表中
dual.txt只有一行内容内容为一个空格 load data local inpath /usr/local/soft/hivedata/dual.txt into table dual; 执行上面的加载命令 模拟测试 select 11 from dual; 3.2 关系运算符 关系运算符属于hive的内置运算符是二元运算符执行的是两个操作数的比较运算每个关系运算符都返回boolean类型结果TRUE或FALSE 以下是常规的关系运算符
运算符含义表达式等值比较 、不等值比较 、!小于比较小于等于比较大于比较大于等于比较空值判断 IS NULL 非空判断 IS NOT NULLLIKE比较LIKEJAVA的LIKE操作RLIKEREGEXP操作REGEXP is null空值判断 select 1 from dual where congge is null; is not null 非空值判断 select 1 from dual where congge is not null; like使用
_表示任意单个字符%表示任意数量字符否定比较 NOT A like B like单个字符比较 select 1 from dual where congge like co_; 可以看到这种情况下没有匹配到结果 %任意数量字符匹配 select 1 from dual where congge like co%; 这个有点像mysql中的like模糊匹配 like否定比较 select abcde like abc; select not abcde like abc; rlike
确定字符串是否匹配正则表达式是REGEXP_LIKE()的同义词 select 1 from dual where congge rlike ^c.*e$; select 1 from dual where 123456 rlike ^\\d$; --判断是否全为数字 select 1 from dual where 123456aa rlike ^\\d$; 如果是匹配开始c结尾为e则能匹配到结果 regexp
功能与rlike相同 用于判断字符串是否匹配正则表达式 select 1 from dual where congge regexp ^c.*e$; 3.3 算术运算符 算术运算符操作数必须是数值类型。 分为一元运算符和二元运算符 一元运算符,只有一个操作数 二元运算符有两个操作数,运算符在两个操作数之间 常用算术运算符
运算符含义表达式加减乘除操作 - * /取整操作div取余操作%位与操作位或操作|位异或操作^位取反操作 ~ 取整操作 div 给出将A除以B所得的整数部分。例如17 div 3得出5 取余操作: %
也叫做取模mod A除以B所得的余数部分 位与操作: A和B按位进行与操作的结果 与表示两个都为1则结果为1 select 4 8 from dual; --4转换二进制0100 8转换二进制1000 select 6 4 from dual; --4转换二进制0100 6转换二进制0110 位或操作: |
A和B按位进行或操作的结果 或表示有一个为1则结果为1 select 4 | 8 from dual; select 6 | 4 from dual; 位异或操作: ^
A和B按位进行异或操作的结果 异或表示两者的值不同,则结果为1 select 4 ^ 8 from dual; select 6 ^ 4 from dual; 3.4 逻辑运算符
逻辑运算符应该算大家很熟悉的一种了在很多编程语言中需要通过条件判断从而确定是true或者false就属于逻辑运算符的范畴 常用逻辑运算符
运算符含义表达式与操作A AND B或操作A OR B非操作NOT A 、!A在操作A IN (val1, val2, ...)不在操作A NOT IN (val1, val2, ...)逻辑是否存在[NOT] EXISTS (subquery) 与操作: A AND B
如果A和B均为TRUE则为TRUE否则为FALSE。如果A或B为NULL则为NULL
select 1 from dual where 31 and 21;
运行结果 或操作: A OR B
如果A或B或两者均为TRUE则为TRUE否则为FALSE
select 1 from dual where 31 or 2!2;
运行结果 非操作: NOT A 、!A
如果A为FALSE则为TRUE如果A为NULL则为NULL。否则为FALSE
select 1 from dual where not 21;
select 1 from dual where !21;
运行结果 在:A IN (val1, val2, ...)
如果A等于任何值则为TRUE这个和mysql中的in的范围查询很类似
select 1 from dual where 11 in(11,22,33);
运行结果 不在:A NOT IN (val1, val2, ...)
如果A不等于任何值则为TRUE
select 1 from dual where 11 not in(22,33,44);
运行结果 逻辑是否存在: [NOT] EXISTS (subquery)
将主查询的数据放到子查询中做条件验证根据验证结果TRUE 或 FALSE来决定主查询的数据结果是否得以保留
select A.* from A
where exists (select B.id from B where A.id B.id); 3.5 其他运算符 字符串拼接函数 select concat() 复杂类型的构造运算符也可以理解为hive的内置函数
复杂类型的构造运算符 array使用
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/86704.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!