【发布时间】:2020-07-07 12:49:34
【问题描述】:
我在myTable 表中有一列myColumn 具有此值:
"6285":[
{
"75963":{"lookupId":"54","value":"0","version":null},
"75742":{"lookupId":"254","value":"991","version":null}
}
]
我需要使用JSON_VALUE 或JSON_QUERY 函数编写select 查询(我的sql server 版本不支持OPENJSON)。查询应返回以下结果:
"75963-0, 75742-991"
如您所见,我需要 value 参数的值。另请注意,我不知道6285 数组中的对象将包含哪些元素。我的意思是我事先不会知道其中会有 2 个元素(75963 和 75742)。可能有更多或更少的元素,当然它们可能不同。 但是在6285数组中总是只有一个对象。
我可以写什么样的select来实现它?
【问题讨论】:
-
您的 SQL Server 版本是多少?如果你可以使用
JSON_QUERY(),你应该可以使用OPENJSON()。 -
@Zhorov
Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64) Aug 22 2017 17:04:49 Copyright (C) 2017 Microsoft Corporation Developer Edition (64-bit) on Windows Server 2012 R2 Standard 6.3 <X64> (Build 9600: ) (Hypervisor)。也许可以在 sql 编辑器中使用OPENJSON,但我正在使用Hibernate(Java 框架)进行查询,我认为它不支持OPENJSON。但是,如果您可以使用OPENJSON编写查询,那也会有所帮助。
标签: json sql-server select json-query json-value