1.rlike
A RLIKE B ,表示B是否在A里面即可。而A LIKE B,则表示B是否是A.
B中的表达式可以使用JAVA中全部正则表达式,具体正则规则参考java,或者其他标准正则语法。
hive (default)> select 'footbar' rlike '^f..]+r$';
OK
false
hive (default)> select 'footbar' rlike '^f.*r$';
OK
true
hive (default)> select 'foobar' rlike 'foo'; --注意同样表达式,用正则匹配成功
OK
true
hive (default)> select 'foobar' like 'foo';--注意同样表达式,用like匹配失败
OK
false
hive (default)> select '123456' rlike '^\\d+$';
OK
true
hive (default)> select null rlike '.*';
OK
NULL
2.like
hive (default)> select 'abcde' like 'abc';
OK
false
hive (default)> select 'abcde' like 'abc__';
OK
true
hive (default)> select 'abcde' like 'abc%';
OK
true
hive (default)> select 'abcde' like '%abc%';
OK
true
hive (default)> select 'abcde' like 'bc%';
OK
false
hive (default)> select 'abcde' like '_bc%';
OK
true
hive (default)> select 'abcde' like '_b%';
OK
true
总结:hive中尽量用rlike