Hive中like和rlike有什么具体区别和用法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计460个文字,预计阅读时间需要2分钟。
面试过程中,遇到技术大牛提出的一个问题让我困惑:like与rlike有什么区别?我在百度上查阅了一下,大致概括如下,希望对大家有所帮助:
1. 定义: - like:用于匹配字符串是否包含指定模式,其中百分号(%)表示任意字符出现任意次数。 - rlike:也是用于匹配字符串,与like类似,但rlike使用正则表达式进行匹配。
2. 区别: - like:不支持正则表达式,只能进行简单的字符串匹配。 - rlike:支持正则表达式,可以进行更复杂的匹配。
3. 示例: - like:'abc' like '%a%c%' # 匹配 'abc',因为包含 'a' 和 'c',且 'b' 在中间。 - rlike:'abc' rlike 'a.c' # 匹配 'abc',因为使用正则表达式 'a.c' 匹配。
希望这些信息能对您有所帮助。
面试过程中,有技术大牛提到了一个问题,让我不知所措:like与rlike有什么区别呀?
后面我百度查了一下,大概归纳如下,希望对大家有帮助:
1、定义
(1)like的内容不是正则,而是通配符。像mysql中的"like",但是建议使用高级函数"instr"效率更高。
(2)rlike的内容可以是正则,正则的写法与java一样。需要转义,例如'\m'需要使用'\\m'
2、举例
(1)like
hive> select "11111112222123333" like "%12%" ;
(2)rlike,用相应的正则表达式即可
11111112222123333" rlike ".*12.*"
b. hive>select "11111112222123333" rlike "^12"
c. hive> select "aabba" rlike "aa\\w"
d. hive> select "aaannnn" rlike "aa\\w+"
以上几种方式使用正则都可以实现。
本文共计460个文字,预计阅读时间需要2分钟。
面试过程中,遇到技术大牛提出的一个问题让我困惑:like与rlike有什么区别?我在百度上查阅了一下,大致概括如下,希望对大家有所帮助:
1. 定义: - like:用于匹配字符串是否包含指定模式,其中百分号(%)表示任意字符出现任意次数。 - rlike:也是用于匹配字符串,与like类似,但rlike使用正则表达式进行匹配。
2. 区别: - like:不支持正则表达式,只能进行简单的字符串匹配。 - rlike:支持正则表达式,可以进行更复杂的匹配。
3. 示例: - like:'abc' like '%a%c%' # 匹配 'abc',因为包含 'a' 和 'c',且 'b' 在中间。 - rlike:'abc' rlike 'a.c' # 匹配 'abc',因为使用正则表达式 'a.c' 匹配。
希望这些信息能对您有所帮助。
面试过程中,有技术大牛提到了一个问题,让我不知所措:like与rlike有什么区别呀?
后面我百度查了一下,大概归纳如下,希望对大家有帮助:
1、定义
(1)like的内容不是正则,而是通配符。像mysql中的"like",但是建议使用高级函数"instr"效率更高。
(2)rlike的内容可以是正则,正则的写法与java一样。需要转义,例如'\m'需要使用'\\m'
2、举例
(1)like
hive> select "11111112222123333" like "%12%" ;
(2)rlike,用相应的正则表达式即可
11111112222123333" rlike ".*12.*"
b. hive>select "11111112222123333" rlike "^12"
c. hive> select "aabba" rlike "aa\\w"
d. hive> select "aaannnn" rlike "aa\\w+"
以上几种方式使用正则都可以实现。

