前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >hive like与rlike的区别

hive like与rlike的区别

作者头像
全栈程序员站长
发布2022-09-17 14:47:45
发布2022-09-17 14:47:45
1.5K0
举报

大家好,又见面了,我是你们的朋友全栈君。

项目github地址:[bitcarmanlee easy-algorithm-interview-and-practice](https://github.com/bitcarmanlee/easy-algorithm-interview-and-practice) 欢迎大家star,留言,一起学习进步

like与rlike的区别: like不是正则,而是通配符。这个通配符可以看一下SQL的标准,例如%代表任意多个字符。 rlike是正则,正则的写法与java一样。’\’需要使用’\\’,例如’\w’需要使用’\\w’

hive> select “aaaaa” like “%aaa%” from test_struct limit 10; Total jobs = 1 … OK true true Time taken: 22.056 seconds, Fetched: 2 row(s)

hive> select “aaaaa” rlike “%aaa%” from test_struct limit 10; Total jobs = 1 … OK false false Time taken: 26.065 seconds, Fetched: 2 row(s)

注意这两者区别:%是sql中的通配符,所以用like的输出为true。而正则里没有%的表示方式,所以输出false rlike的话,用相应的正则表达式即可

hive> select “aaaaa” rlike “.*aaa.*” from test_struct limit 10; Total jobs = 1 … OK true true Time taken: 24.168 seconds, Fetched: 2 row(s)

select “aaaaa” rlike “^aaa” from test_struct limit 10; Total jobs = 1 … OK true true Time taken: 22.059 seconds, Fetched: 2 row(s)

hive> select “aaa” rlike “aa\\w” from test_struct limit 2; Total jobs = 1 Launching Job 1 out of 1 … OK true true Time taken: 22.055 seconds, Fetched: 2 row(s)

hive> select “aaa” rlike “aa\\w+” from test_struct limit 2; Total jobs = 1 Launching Job 1 out of 1 … OK true true Time taken: 22.055 seconds, Fetched: 2 row(s)

以上几种方式的正则都可以

rp_name_cn like ‘%不含早%’ 与rp_name_cn rlike ‘不含早’的效果一致

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158799.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档