面试过程中,有技术大牛提到了一个问题,让我不知所措:like与rlike有什么区别呀?
后面我百度查了一下,大概归纳如下,希望对大家有帮助:
1、定义
(1)like的内容 不是正则 ,而是通配符。像mysql中的"like",但是建议使用高级函数" instr "效率更高。(2)rlike的内容可以是正则,正则的写法与java一样。需要转义,例如'\m'需要使用'\\m'
2、举例
(1)like
hive> select "11111112222123333" like "%12%" ;
a. hive> select "11111112222123333" rlike ".*12.*"
b. hive>select "11111112222123333" rlike "^12"
c. hive> select "aabba" rlike "aa\\w"
d. hive> select "aaannnn" rlike "aa\\w+"
以上几种方式使用正则都可以实现。