作者:空间无悔 | 来源:互联网 | 2023-09-07 13:04
您只有一点点离开。Spark SQL和Hive遵循SQL标准约定,其中LIKE
运算符仅接受两个特殊字符:
_
(下划线)-匹配任意字符。
%
(百分比)-匹配任意字符序列。
方括号没有特殊含义,[4,8]
仅与[4,8]
文字匹配:
spark.sql("SELECT '[4,8]' LIKE '[4,8]'").show
+----------------+
|[4,8] LIKE [4,8]|
+----------------+
| true|
+----------------+
要匹配复杂的模式,可以使用RLIKE
支持Java正则表达式的运算符:
spark.sql("SELECT '8NXDPVAE' RLIKE '^[4,8]NXD.V.*$'").show
+-----------------------------+
|8NXDPVAE RLIKE ^[4,8]NXD.V.*$|
+-----------------------------+
| true|
+-----------------------------+