如何在Snowflake表指定列中排查含非字母数字字符的记录?
你的正则写法基本正确,但要结合Snowflake的语法细节使用
你的正则表达式[^A-Za-z0-9 ]逻辑是对的——它会匹配所有不在英文字母(大小写)、数字、空格范围内的字符,用来排查指定列里包含非字母数字(含空格)的记录是可行的,但在Snowflake中使用时要注意以下几点:
- 必须搭配
REGEXP_LIKE函数来实现匹配,正确的查询语句示例:SELECT * FROM 你的表名 WHERE REGEXP_LIKE(你的列名, '[^A-Za-z0-9 ]'); - 如果空格也属于你要排查的“非合规字符”,直接去掉正则里的空格即可,改成
[^A-Za-z0-9] - 你也可以用Snowflake支持的正则简写
[:alnum:]来替代A-Za-z0-9,写法更简洁,效果完全一致:SELECT * FROM 你的表名 WHERE REGEXP_LIKE(你的列名, '[^[:alnum:] ]');
内容的提问来源于stack exchange,提问作者Mohit Singh
相关产品推荐
相关产品推荐

