您只有一点点离开。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|+-----------------------------+


