我有一个包含许多列的表,其中一列包含JSON结构化数据, 例如:
{"firstname": "john", "lastname": "tim"}
我需要获取所有lastname
数据。
有什么建议吗?
答案 0 :(得分:0)
以下是从lastname
阅读JSON
数据的另一种方法:
SELECT REPLACE(REPLACE(REPLACE(DATA, '}', ''), '"lastname":', ''), '"', '') [LastName]
FROM
(
SELECT split.a.value('.', 'NVARCHAR(MAX)') DATA
FROM
(
SELECT CAST('<A>'+REPLACE(<jsoncolumn>, ',', '</A><A>')+'</A>' AS XML) AS String
FROM <table_name>
) A
CROSS APPLY String.nodes('/A') AS split(a)
) AA
WHERE AA.DATA LIKE '%lastname%';
结果:
LastName
tim