来自 table 的 Select 行,该列中至少包含一个字母表

Select rows from a table which contains at-least one alphabet in the column

我在 Databricks 的 table 下有一个名为 name 的列。

我想找到一种方法来 select 仅 table 中的那些行,其中在 name 列中包含至少一个字母字符。

列中的示例值:

12243
#123-(23)
$ank
ada124$%
()
!asd
122acs#
gmgd32

预期:我只需要选择其中至少包含一个字母表的那些值。或者换句话说,我需要一种方法来排除所有只包含数字和特殊字符的行。

因此预期输出应如下所示:

$ank
ada124$%
!asd
122acs#
gmgd32

因为其中至少包含一个字母表。

我在数据块中使用 pyspark-sql。

您可以将 rlike 与正则表达式一起使用:


import pyspark.sql.functions as F

df.filter(F.col("name").rlike(".*[a-zA-Z]+.*")).show()

#+--------+
#|    name|
#+--------+
#|    $ank|
#|ada124$%|
#|    !asd|
#| 122acs#|
#|  gmgd32|
#+--------+

Spark SQL 等效查询:

SELECT * 
FROM   df
WHERE  name RLIKE '.*[a-zA-Z]+.*'