【发布时间】:2019-02-27 18:56:33
【问题描述】:
我有一堆行,其值如下所示。不幸的是,我必须解析并加载它的 json 提取。无论如何,由于某种原因,我的 json 解析工具不想解析这个完整的列,所以我需要在 TSQL 中进行。我只需要 unique_id 字段:
[{"unique_id":"12345","system_type":"Test System."}]
我尝试了下面的 SQL,但它只返回整列的前 5 个字符。我知道问题是什么,我需要知道如何告诉子字符串继续直到值之后的第四组引号。我不确定如何编写这样的子字符串。
select substring([jsonfield],CHARINDEX('[{"unique_id":"',[jsonfield]),
CHARINDEX('"',[jsonfield]) - CHARINDEX('[{"unique_id":"',[jsonfield]) +
LEN('"')) from etl.my_test_table
谁能帮我解决这个问题?
谢谢你,我很感激!
【问题讨论】:
-
" 无论如何,我的 json 解析工具由于某种原因不想解析这个完整的列" 在寻找 TSQL 解决方法之前,您是否尝试过发布关于此的问题?
标签: tsql sql-server-2016