在 Azure Databricks 中检索“-”符号之前的字符
Retrieve characters before the '-' symbol in Azure Databricks
我想从“-”符号之前的列中提取数据。我可以使用 T-SQL 轻松完成此操作,但在 Azure Databricks 中执行相同操作时出现错误。
我还希望能够检查该列是否有这样的符号,如果它不存在我不想提取数据。
在 T-SQL 我可以写:
SELECT EmailAddress
,SUBSTRING(emailaddress, 0, charindex('@', emailaddress, 0))
FROM [dbo].[DimEmployee]
请问如何在 Databricks 中获得相同的结果?
要查找带有'-'符号的记录,可以使用pyspark.sql.Column.contains
Column.contains(other)
包含另一个元素。 Returns 基于字符串匹配的布尔列。
-
regexp_extract_all function
提取str
中匹配正则表达式并对应正则表达式组索引的所有字符串。
regexp_extract_all(str, regexp [, idx] )
例如
SELECT regexp_extract_all('100-200, 300-400', '(\d+)-(\d+)', 1);
[100, 300]
我想从“-”符号之前的列中提取数据。我可以使用 T-SQL 轻松完成此操作,但在 Azure Databricks 中执行相同操作时出现错误。 我还希望能够检查该列是否有这样的符号,如果它不存在我不想提取数据。
在 T-SQL 我可以写:
SELECT EmailAddress
,SUBSTRING(emailaddress, 0, charindex('@', emailaddress, 0))
FROM [dbo].[DimEmployee]
请问如何在 Databricks 中获得相同的结果?
要查找带有'-'符号的记录,可以使用
pyspark.sql.Column.contains
Column.contains(other)
包含另一个元素。 Returns 基于字符串匹配的布尔列。
-
regexp_extract_all function
提取str
中匹配正则表达式并对应正则表达式组索引的所有字符串。
regexp_extract_all(str, regexp [, idx] )
例如
SELECT regexp_extract_all('100-200, 300-400', '(\d+)-(\d+)', 1);
[100, 300]