sql-server-2016 - 如何查询json数组字段
问题描述
如何查询 json 数组字段。
我的 sql 表字段是个人数据,示例数据如下
[{"Name":"A","Age":"12"},
{"Name":"B","Age":"22"},
{"Name":"C","Age":"22"}]
所以需要的查询类似于 Name=A
解决方案
这应该将 JSON 置于您可以正常查询的格式:
select
SUBSTRING([name], CHARINDEX(':', [name]) + 1, 8000) as [name]
,SUBSTRING([age], CHARINDEX(':', [age]) + 1, 8000) as [name]
from
(select
SUBSTRING(value, 1, CHARINDEX(',', value) - 1) AS [name]
,SUBSTRING(value, CHARINDEX(':',value)+3,CHARINDEX(',',value)-1) as [age]
from
(select replace(replace(replace(replace(strTest, '[', ''), '}', ''), ']', ''), '"', '') as strMod
from [dbo].[tblTest]
) as a
cross apply string_split(strMod, '{')
where value <> ''
) as b
推荐阅读
- javascript - 如何修复此节点以响应连接以使我的登录页面正常工作?
- apache-spark-sql - 键和值上的 Spark Dataframe MapType 过滤器
- node.js - Node.js 中用于复制 Blob 的 Azure REST API PUT 标头
- c - 如何在输入数字时找到高于平均值的数字数量?
- python - DBScan 聚类算法运行缓慢的问题
- c# - 缩放到 PictureBox 中的点
- python - Python删除输入.txt字符串,但最终删除txt文件中的每个字符串
- c++ - 用c ++编写程序以反向输出字符串,结果没有输出
- azure - Azure DevOps 登录
- reactjs - 为材质图标设置自定义文本