如何在Snowflake中解析非一致格式字符串,从站点URL提取指定内容
Snowflake URL字段解析实现方案
- 标识字段
love_site?:通过CONTAINS函数判断URL是否包含/love/路径,直接返回YES/NO - 姓名字段
name:使用Snowflake内置的正则提取函数REGEXP_SUBSTR,匹配/love/之后到?(或URL末尾)的内容,无匹配时自动返回空值
完整实现SQL如下:
SELECT ID, IFF(CONTAINS(site, '/love/'), 'YES', 'NO') AS "love_site?", REGEXP_SUBSTR(site, '/love/([^?]+)', 1, 1, 'e', 1) AS name FROM 替换为你的实际表名;
正则参数说明:
- 正则规则
'/love/([^?]+)'表示匹配以/love/开头,后续所有不为?的字符,第一个捕获组即为需要提取的人名- 参数
e表示启用捕获组提取模式,最后一位参数1表示取第一个捕获组的内容,不需要额外判断URL是否带?,正则会自动适配两种场景
内容的提问来源于stack exchange,提问作者John Thomas
相关产品推荐
相关产品推荐

