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

如何在Snowflake中用正则提取JSON的dump字段内容?

提取Snowflake中JSON字段的指定片段

正则表达式方案

如果一定要用REGEXP_SUBSTR实现,你可以使用以下正则匹配"dump":和,"ec"之间的内容:

CREATE OR REPLACE TABLE table2 AS
SELECT
  REGEXP_SUBSTR(col1, '"dump":\\s*(.*?)\\s*,"ec"', 1, 1, '', 1) AS dump
FROM table1;
  • 正则说明:
    • "dump":\\s*:匹配"dump":及后面可能的空白字符
    • (.*?):非贪婪匹配任意字符(直到遇到下一个匹配项),用括号标记为捕获组
    • \\s*,"ec":匹配可能的空白字符和,"ec"
    • 最后一个参数1表示提取第一个捕获组的内容

更可靠的JSON原生函数方案

由于正则处理JSON容易因为转义字符、嵌套结构出错,更推荐用Snowflake原生的JSON解析函数,无需正则:

CREATE OR REPLACE TABLE table2 AS
SELECT
  PARSE_JSON(col1):dump::STRING AS dump
FROM table1;

这个方法直接解析JSON结构,提取dump字段的值,稳定性和效率都更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 09:12:02