问题标签 [json-value]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
684 浏览

c# - 如何提高此 Json 数组的 SQL 性能?

在我的 SQL Server 2016+ 中,我有一个带有 json 列的表,json 列具有以下格式:

在上述数据中:

  1. 主要类型可能不是Sample.Product, Sample
  2. Policies.$values是一个通用列表,可以是任何类型的Policy
  3. PriceCardPolicy某些json数据中可能不存在

我需要过滤所有具有PriceCardPolicy.

我当前的 SQL 是:

但是当数据增长时,它的性能真的很差,比如 500K 行。我该如何改进呢?

例如:

有 500k 行,但只有 5 行没有PriceCardPolicy. 我需要找出那 5 行。

我无法对数据库进行任何更改,我只能专注于改进此 SQL。谢谢。

0 投票
1 回答
1435 浏览

sql-server - SQL Server:如何从 Json 对象中删除键

我有一个类似(简化)的查询:

结果是这样的:

如何删除密钥长度小于 6 的条目。

结果:

0 投票
1 回答
814 浏览

sql-server - 在 JSON_VALUE 中选择 Json Object 作为 nvarchar(max)

我不知道如何将 JSON 的路径提取为nvarchar(max). 它总是返回 null。

我不想指定要获取的字段,因为我不知道字段名称。所以这里的想法是选择它作为一个字符串并稍后处理它们。

预期结果是该Type列包含address作为字符串的整个 JSON 对象

0 投票
2 回答
2718 浏览

sql-server - JSON_VALUE 在 SQL Server 的 where 子句中不起作用

我的表中有一列中有 JSON 数据。我正在尝试在 JSON 列上应用 where 条件并获取记录。

Employee桌子:

在此处输入图像描述

这是我的 SQL 查询:

使用此查询时,我得到一个空结果。有关如何执行此操作的任何帮助?

0 投票
1 回答
1489 浏览

tsql - 如何针对 JSON 列构建动态 SQL where 条件

我有一个以 Json 格式存储数据的 SQL 表。我正在使用下面的示例数据来理解这个问题。每种文档类型都有自己的 JSON 结构。

然后我有另一个 JSON 需要在 Where 条件下使用

我也会有DocumentTypeID作为参数

因此,在普通 sql 中,如果我对属性名称进行硬编码,则 SQL 看起来像

给定
中的属性名称,并将与给定的 DocumentTypeID 完全匹配。JsonDataCondition

我已经有另一个存储 DocumentType 及其属性的 SQL 表。如果有帮助,我可以为每个可在上述查询中使用的属性存储 json 路径,以动态构造 where 条件

ISSUE
对于每种文档类型,@condition 将具有不同的 JSON 结构。我如何构建动态 where 条件?这在 SQL 中甚至可能吗?

我正在使用 C#.NET,所以我想在 C# 中构建 SQL 查询并执行 SQL 查询。但在我走那条路之前,我想检查一下它是否可以在 TSQL 中做到这一点

0 投票
1 回答
128 浏览

sql-server - TSQL我如何检查数组是使用JSON_QUERY的子集

我有下表Documents,其中数据以 JSON 格式存储。

然后我有过滤器,它也是一个 json

如何在 where 子句中应用过滤器。

预期结果应返回匹配的 Documents,DocumentID 1,2,3

0 投票
1 回答
141 浏览

sql-server-2016 - 使用 SQL 从 JSON 数组中提取数据

我在 sql 表列中有一个嵌套的 JSON,需要从“delinquincies”数组中解析出多个值。在下面的 JSON 中用 ** 突出显示

我一直在玩各种 JSON_Value 的迭代,感觉好像我错过了一些简单的东西

期望 Null 值和 Current_paysAccountasAgreed 34

0 投票
1 回答
840 浏览

sql - SQL JSON 查询 - 检索 JSON 数组中的数据

我有以下 SQL“产品”表结构:

详细信息包含 JSON 一个具有以下结构的字符串:

我需要编写一个 SQL 查询来查看表并返回具有特定标题的所有变体。


以下作品

从表中获取详细信息字段包含特定标题的所有行

从表中获取 Details.Variants[0].Title 等于 '{string}' 的所有行

从 Details.Variants[0].Title 等于 '{string}' 的表中获取所有Id


我需要从 Product 表中的所有行中获取所有变体,其中 Variant 标题等于“{string}”

文档中有一个类似的示例, 但我无法让它适用于我的特殊情况。

还有这个堆栈帖子

0 投票
2 回答
192 浏览

sql - 使用 T-SQL 从 JSON 中提取数组元素

我有一个来自存储在 SQL Server 数据库中的 Google Geocoding API 的以下响应字符串:

我的任务是从上面的 JSON 中提取 Country 和 City。我检查了数据,似乎 Geocoding API 并不总是在 address_component 节点中返回 4 个元素,因此我需要在数组中获取类型包含城市管理区域级别 1 的元素,例如,逻辑上应该是这样的:

0 投票
1 回答
3200 浏览

json - SQL 服务器:使用 JSON_QUERY 选择所有 json 数组元素

myColumnmyTable表中有一个具有此值的列:

我需要使用or函数编写select查询(我的版本不支持)。查询应返回以下结果:JSON_VALUEJSON_QUERYsql serverOPENJSON

如您所见,我需要value参数值。另请注意,我不知道6285数组内的对象将包含哪些元素。我的意思是我事先不会知道其中会有 2 个元素(75963 和 75742)。可能有更多或更少的元素,当然它们可能不同。然而6285,数组中总是只有一个对象。

我可以写什么样的select来实现它?