You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Databricks SQL中检测含撇号记录及特殊字符校验问题

问题:找出Azure Databricks表中含非法特殊字符的记录

需求

需要筛选出表中包含非法特殊字符的记录,允许使用的字符包括:

  • 大小写字母、数字
  • 空格
  • 特殊符号:连字符(-)、逗号(,)、正斜杠(/)、井号(#)、点号(.)、撇号(')

数据示例

L'ÎLE-PERROT -- 无效
CHÉNÉVILLE -- 无效
1205-RUE DE L'ACADIE - 有效
'4th Floor - InterContinental - 有效
VAL D'OR -- 有效
O'LEARY -- 有效
Bucure¿ti -- 无效
LA DORÉ - 无效

注:无效记录包含重音字符(如Î、É、Ó)或未被允许的特殊符号(如¿),有效记录仅包含允许范围内的字符。

尝试的方法及问题

我试过三种校验方法,但所有方法都没能正确处理撇号(')的校验逻辑,导致结果不符合预期:

方法1:使用REGEXP函数

REGEXP(TRIM(column1 ), '[^a-zA-Z0-9,-\-/#''\s]')

方法2:使用rlike运算符

column1 rlike '[a-zA-Z0-9\\-,/#''\\s]'

方法3:使用TRANSLATE函数

TRANSLATE(column1, 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789,/#. -') = ''

内容的提问来源于stack exchange,提问作者Nitin Gore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 07:12:35