Snowflake中匹配ABC后接8位数字的正则表达式实现
Snowflake筛选符合"ABC后跟8位数字"模式的数据
直接用REGEXP_LIKE函数做行筛选即可,REGEXP_SUBSTR是用来提取匹配子串的,不适合做整行的筛选判断。
- 正则模式:
^ABC\d{8}$^锚定字符串开头,确保内容从ABC开始ABC匹配固定前缀\d{8}匹配正好8位数字$锚定字符串结尾,确保内容到8位数字结束,无多余字符
示例SQL语句:
SELECT * FROM 表A WHERE REGEXP_LIKE(value, '^ABC\\d{8}$');
如果value字段可能包含前后空格,可先做trim处理:
SELECT * FROM 表A WHERE REGEXP_LIKE(TRIM(value), '^ABC\\d{8}$');
也可以用Snowflake的原始字符串语法($$包裹)避免转义反斜杠:
SELECT * FROM 表A WHERE REGEXP_LIKE(value, $$^ABC\d{8}$$$);
内容的提问来源于stack exchange,提问作者Koushur
相关产品推荐
相关产品推荐

