我有一个Hive表,其中包含一个字母数字字符串作为主键。我想选择键以特定字符集开头的行,所以我使用
Select * from my table where pk like '[A-Z]%' limit 5;
由于某种原因,这不返回任何内容,而下面的查询返回5行:
Select * from my table where pk like 'F%' limit 5;
具体来说,Hive如何处理正则表达式括号[]似乎存在问题。另一个不返回任何内容的查询是:
Select * from my table where pk like '[F]%' limit 5;
有谁知道这是为什么以及如何解决它?
PS:我也试过
Select * from my table where pk rlike 'F%' limit 5;
它也一样,什么都没有。
答案 0 :(得分:0)
如果要匹配正则表达式,则应使用具有类似Java的正则表达式语法的RLIKE运算符。
Select * from my table where pk rlike '^[A-Z].*' limit 5;