您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

可以在MSSQL查询中使用多个JSON_VALUE-s损害性能

可以在MSSQL查询中使用多个JSON_VALUE-s损害性能

您可以尝试使用OPENJSON()显式架构,Properties通过一个函数调用(针对四个或更多JSON_VALUE()调用)来解析存储在列中的JSON :

桌子:

CREATE TABLE SoMetable (
   Id int,
   Properties varchar(1000)
)
INSERT INTO SoMetable (Id, Properties)
VALUES
   (1, '{"field1":"value1", "field2":"value2", "field3":"value3", "field4":"value4"}'),
   (2, '{"field1":"value1", "field2":"value2", "field3":"value3", "field4":"value4"}')

陈述:

SELECT s.Id, j.*
FROM SoMetable s
CROSS APPLY OPENJSON(s.Properties) WITH (
   field1 varchar(100) '$.field1',
   field2 varchar(100) '$.field2',
   field3 varchar(100) '$.field3',
   field4 varchar(100) '$.field4'
) j

结果:

Id  field1  field2  field3  field4
----------------------------------
1   value1  value2  value3  value4
2   value1  value2  value3  value4

另外请注意,的结果JSON_VALUE()是type的标量值nvarchar(4000)。使用OPENJSON()显式架构,您可以为返回的列定义适当的数据类型。

SQLServer 2022/1/1 18:53:03 有405人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶