大家好,欢迎来到IT知识分享网。
1. like 和 rlike 的区别
1. like
1. sql语法的 模糊匹配
2. 通配符
1. % 代表零个或任意字符
2. _ 代表1个字符
2. rlike
1. hive 扩展功能, 通过 Java 正则表达式 来匹配条件
3. 案例
-- like _单个字符 %任意字符+任意数量 true = 1 false = 0 [基于sql实现的接口] -- rlike 基于java正则实现的接口 --语法:A,B 匹配返回true,否则返回false,当A,B为null时,返回null --区别:like 通配符匹配的是整个列,比如helloworld就无法和’world’通配 --但是正则表达式则是在列值内进行匹配,helloworld就可以和’world’匹配返回TRUE --操作类型: strings --返回类型: boolean或null select 'football' like 'footba%' = 1 ,null rlike '[a-z]*' ,'football' rlike null ,'helloworld' like 'world' ,'helloworld' rlike 'world' ,'helloworld' regexp 'world' -- rlike 和 regexp 用法相同 --操作类型: strings --返回类型: boolean或null select 'helloworld' rlike 'world' ,rlike('helloworld','world') = 1 --语法: regexp_replace(string A, string B, string C) --操作类型: string --返回值: string --说明: 将字符串A中的符合java正则表达式B的部分替换为C。 select regexp_replace('h234ney','\\d+','@') ,regexp_replace('h234ney','\\d','@') --语法: regexp_extract(string A, string pattern, int index) --返回值: string --说明:将字符串A按照pattern正则表达式的规则拆分,返回index指定的字符,index从1开始计。 select regexp_extract('honeymoon', 'ym', 0);
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/28221.html