0

我有一个包含原始查询字符串的列的表。我想找到与特定模式匹配的所有查询字符串。一些模式以%字符开头。
我想知道RLIKEin spark SQL 的行为是否类似于 SQL 中的LIKE命令或评估%char 并只是尝试将其与列值中的该 char 匹配?
如果默认情况下它的行为类似于常规 SQLLIKE命令(关于%字符) - 是否有任何配置可以更改以更改此行为?

4

1 回答 1

0

不,RLIKE将模式解释为正则表达式,而不是经典的 SQLLIKE方式。它会将 % 视为普通字符。

请注意,Spark SQL 中还有一个LIKE函数,其行为几乎与经典 SQL 相同LIKE

例如

RLIKE

spark-sql> select 'ab%c' rlike 'a%';
false

spark-sql> select 'ab%c' rlike 'b%';
true

LIKE

spark-sql> select 'ab%c' like 'a%';
true
于 2020-12-28T09:30:12.863 回答