hive like与rlike的区别

hive like与rlike的区别like与rlike的区别:like不是正则,而是通配符。这个通配符可以看一下SQL的标准,例如%代表任意多个字符。rlike是正则,正则的写法与java一样。’\’需要使用’\\’,例如’\w’需要使用’\\w’hive>select”aaaaa”like”%aaa%”fromtest_structlimit10;Totaljobs=1…OK

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

项目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.net/158799.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号