mysql中like与rlike_Hive中rlike,like,notlike区别及使用
业务需求:使用hive从表中查询dataforjy字段的记录后5位包含#的有哪些?
方法一:使用模糊查询like,逐一匹配
Like表示模糊查询(是否包含),like后面的字符串不是正则表达式,而是通配符。像mysql中的”like”,%代表任意数量个字符,_代表一个填充字符。但是建议使用高级函数”instr”效率更高。
Select dataforjy from fdm_dm.dmp_plsadm_tradeinfo_m_20180227_mix
where dataforjy like '%#____'
or dataforjy like '%_#___'
or dataforjy like '%__#__'
or dataforjy like '%___#_'
or dataforjy like '%____#'
方法二:(通过截取后5位,使用relike查询包含#的记录)
Rlike功能和like一致,只是后面内容是正则表达式,正则的写法与java一样。需要转义,例如’\m’需要使用’\\m’。如果like想用正则表达式,则需要替换用rlike.
Select dataforjy
from fdm_dm.dmp_plsadm_tradeinfo_m_20180227_mix
where substr(dataforjy,length(dataforjy)-4) rlike '#'
注,substr后5位的取法,是dataforjy-4,而不是dataforjy-5。其实dataforjylike ‘%#%’和dataforjyrlike ‘#’效果一样,都是对含#号的匹配。但是上面两种如果dataforjy字段中存在长度小于5的字段,则统计结果都会不准。
RLIKE的其他使用,比如:
hive> select 1 from lxw_dual where 'footbar’ rlike'^f.*r$’;
> 1
注意:判断一个字符串是否全为数字:
hive> select 1 from lxw_dual where '123456' rlike'^\\d+$';
> 1
hive> select 1 from lxw_dual where '123456aa' rlike'^\\d+$';
Not like表示不包含的匹配,和like相反,但是用法不是Anot like B,而是not A like B .
hive> select not 'abcde' like '%c%e' from fdm_dm.dmp_plsadm_tradeinfo_m_20180227_mix
hive > false
同理NOT RLIKE 的使用,也是NOT A RLIKEB
select PAYSTAT24MONTH
from fdm_dm.dmp_plsadm_tradeinfo_m_20180227_mix
where not substr(PAYSTAT24MONTH,length(PAYSTAT24MONTH)-4) rlike '#'
mysql中like与rlike_Hive中rlike,like,notlike区别及使用相关推荐
- mysql替换首字母_MySQL中使用replace、regexp进行正则表达式替换的用法分析
这篇文章主要介绍了MySQL中使用replace.regexp进行正则表达式替换的用法,结合具体实例形式分析了replace.regexp正则替换的使用技巧与相关注意事项,需要的朋友可以参考下 本文实 ...
- jsp mysql 图片路径,请教JSP中怎么向MySql中存入和取出图片
当前位置:我的异常网» Java Web开发 » 请教JSP中怎么向MySql中存入和取出图片 请教JSP中怎么向MySql中存入和取出图片 www.myexceptions.net 网友分享于:2 ...
- mysql隐藏密码_MySQL在Linux系统中隐藏命令行中的密码的方法
在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?, ...
- coba mysql_在Android Studio中将数据从MySQL数据库显示到TextView中-问答-阿里云开发者社区-阿里云...
我是新手,Android Studio我想将数据库(我使用MySQL)中的数据显示到中TextView.我也使用Button和RadioButton.单击按钮后,数据将显示在中TextView.这是我 ...
- Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结
2019独角兽企业重金招聘Python工程师标准>>> 用了这么长时间,发现自己竟然不知道utf_bin和utf_general_ci这两者到底有什么区别.. ci是 case in ...
- hive replace替换多个_详解Mysql数据库中replace与replace into的用法及区别
概述 Mysql数据库replace与replace into都是经常会用到的功能:replace其实是做了一次update操作,而不是先delete再insert:而replace into其实与i ...
- mysql数据库管理文件_数据库管理中文件的使用教程
摘要:这篇MySQL栏目下的"数据库管理中文件的使用教程",介绍的技术点是"数据库管理.使用教程.数据库.的使用.文件.管理",希望对大家开发技术学习和问题解决 ...
- mysql replace报错_Mysql中replace与replace into的用法讲解
Mysql replace与replace into都是经常会用到的功能:replace其实是做了一次update操作,而不是先delete再insert:而replace into其实与insert ...
- xp 安装mysql数据库_Windows XP系统中安装MySQL5.5.28数据库图文教程
Windows XP系统中安装MySQL5.5.28数据库图文教程 2014-07-13 16:35来源:中国存储网 导读:MySQL数据库的安装一共分为两个部分:数据库的安装和数据库的配置.一.My ...
- pbp 读取 mysql数据_SqlAlchemy 中操作数据库时session和scoped_session的区别(源码分析)...
原生session: from sqlalchemy.orm import sessionmaker from sqlalchemy import create_engine from sqlalch ...
最新文章
- 挖掘协同的力量 大OA前景广阔
- TPL Dataflow组件应对高并发,低延迟要求
- 带有Prometheus的Spring Boot和测微表第6部分:保护指标
- python 华泰证券 客户端_华泰证券网上交易系统(高级版)下载 v8.13官方版下载
- JVM初学之JVM的运行时数据区
- 第6章—渲染web视图—使用Thymeleaf
- java webcms系统源码_java轻量级的CMS系统-天梯
- Mybatis之分表设计与分表插入
- [转]myeclipse 8.5最新注册码(过期时间到2016年)
- 【优化预测】基于matlab遗传算法优化GRNN数据回归拟合【含Matlab源码 1401期】
- c语言万年历查询程序代码,C语言实现万年历程序
- 基于Docker的PaaS平台建设实践
- Usage of API documented as @since 1.8+ less... (Ctrl+F1) Inspection info: This inspection finds all
- 云网融合驱动数据中心技术聚变
- 如何快速学会一项新技能?
- linux系统下的动态壁纸,桌面应用|动态壁纸给linux发行版添加活力背景
- php转字,PHP汉字拼音转换和公历农历转换
- MySQL给查询结果添加序号列的书写格式
- [置顶] VMWare不能安装64位操作系统原因探析
- Flutter v1,大厂面试必问
热门文章
- php微信公众号样式模板下载,PHP微信公众平台自定义菜单
- 【Mysql 第11章_数据处理之增删改】
- 【POWER BI商业数据分析】销售目标分解
- python画钢铁侠标志_钢铁侠历代战衣mark1—mark47全揭秘(四)
- Data truncation: Data too long for column ‘xxx‘ at row 1
- JavaScript格式化字符串为指定长度
- CA、公钥、私钥的基本概念
- Java第十一章总结
- 紫罗兰永恒花园rust简谱_Letter《紫罗兰永恒花园》4.5话ED 简谱
- 紫罗兰永恒花园女性CG模型作品