像数据块中的 %[A-Za-z]% 一样过滤

问题描述

我正在尝试在 Databricks 笔记本中使用 table.column LIKE '%[A-Za-z]%,但它没有返回任何值。

它在 sql Server 中有效,但在 Pysql 中似乎不起作用。

有谁知道 Databricks 的替代方案是什么?

解决方法

LIKE function 的功能有限,因此您需要改用 rlike

select * .... where column rlike '.*[A-Za-z].*'

更新:真实例子:

%python
df = spark.createDataFrame([{'id': 1,'s':'12323'},{'id': 1,'s':'123T23'}],schema='id int,s string')
df.createOrReplaceTempView("rlike_test")

和查询:

%sql
select * from rlike_test where s rlike '.*[A-Za-z].*'

执行结果如下:

enter image description here