如何在Databricks SQL中找出含非字母数字字符的记录?
Databricks SQL 筛选含非字母数字字符的记录
你之前使用的LIKE语句无法生效,因为Databricks SQL的LIKE仅支持%(匹配任意长度字符)、_(匹配单个字符)这类简单通配符,不支持正则表达式的字符类语法。
要筛选出part_number列包含0-9、A-Z/a-z之外字符的记录,需要使用Databricks SQL支持的regexp_like函数,它可以处理正则表达式匹配:
%sql SELECT * FROM part_details WHERE regexp_like(part_number, '[^a-zA-Z0-9]');
说明:
[^a-zA-Z0-9]是正则反向字符类,会匹配任何不在大小写字母、数字范围内的字符(比如.、?等)- 只要
part_number中存在至少一个这类特殊字符,对应的记录就会被返回
如果需要排除part_number为空的记录,可以补充条件:
%sql SELECT * FROM part_details WHERE part_number IS NOT NULL AND regexp_like(part_number, '[^a-zA-Z0-9]');
内容的提问来源于stack exchange,提问作者Mohammed Arif
相关产品推荐
相关产品推荐

