SQLserver查询处理表中JSON字段转换数据为列

58.png

SQL lronlin 发布于 2024-6-24 10:38
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
华莉星宸Lv7资深互助
发布于2024-6-24 10:41
  • lronlin lronlin(提问者) 老师 请问是参照这种写法DECLARE @json NVARCHAR(MAX); SET @json = N'[ {"id": 2, "info": {"name": "John", "surname": "Smith"}, "age": 25}, {"id": 5, "info": {"name": "Jane", "surname": "Smith"}, "dob": "2005-11-04T12:00:00"} ]'; SELECT * FROM OPENJSON(@json) WITH ( id INT 'strict $.id', firstName NVARCHAR(50) '$.info.name', lastName NVARCHAR(50) '$.info.surname', age INT, dateOfBirth DATETIME2 '$.dob' ); 还是 这种写法呀DECLARE @json NVARCHAR(MAX); SET @json = N'[ {"id": 2, "info": {"name": "John", "surname": "Smith"}, "age": 25}, {"id": 5, "info": {"name": "Jane", "surname": "Smith", "skills": ["SQL", "C#", "Azure"]}, "dob": "2005-11-04T12:00:00"} ]'; SELECT id, firstName, lastName, age, dateOfBirth, skill FROM OPENJSON(@json) WITH ( id INT 'strict $.id', firstName NVARCHAR(50) '$.info.name', lastName NVARCHAR(50) '$.info.surname', age INT, dateOfBirth DATETIME2 '$.dob', skills NVARCHAR(MAX) '$.info.skills' AS JSON ) OUTER APPLY OPENJSON(skills) WITH (skill NVARCHAR(8) '$');
    2024-06-24 16:53 
  • lronlin lronlin(提问者) 老师 比如我们想查询SELECT device_id AS '设备ID', point_infos AS '水质详情' FROM device_detail 中的point_infos字段 需要怎么调整SQL才能实现这个JSON字段(字段类型txt)获取到对应的值呀
    2024-06-24 16:55 
  • 2关注人数
  • 97浏览人数
  • 最后回答于:2024-6-24 10:41
    请选择关闭问题的原因
    确定 取消
    返回顶部