使用JSON值查询SQL数据库

ttaylor27272727

这是我的JSON:

[{"Key":"schedulerItemType","Value":"schedule"},{"Key":"scheduleId","Value":"82"},{"Key":"scheduleEventId","Value":"-1"},{"Key":"scheduleTypeId","Value":"2"},{"Key":"scheduleName","Value":"Fixed Schedule"},{"Key":"moduleId","Value":"5"}]

我想按FileMetadata列查询数据库

我已经试过了:

  SELECT * FROM FileSystemItems WHERE JSON_VALUE(FileMetadata, '$.Key') = 'scheduleId' and JSON_VALUE(FileMetadata, '$.Value') = '82'

但这不起作用!

我只使用字典键/值对来使用它,但是我需要以不同的方式返回数据,因此我现在将其与键和值一起添加到json中。

我究竟做错了什么?

永远学习

使用给定的样本数据,您必须提供一个数组索引来查询第一个元素(基于0的数组索引),例如:

 select *
 from dbo.FileSystemItems
 where json_value(FileMetadata, '$[1].Key') = 'scheduleId'
 and json_value(FileMetadata, '$[1].Value') = '82'

如果scheduleId键可以出现在数组中的任意位置,则可以重组查询以使用OPENJSON代替,例如:

select *
from dbo.FileSystemItems
cross apply openjson(FileMetadata) with (
  [Key] nvarchar(50) N'$.Key',
  Value nvarchar(50) N'$.Value'
) j
where j.[Key] = N'scheduleId'
and j.Value = N'82'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用SQL而不是Linq查询数据库并返回Json

来自分类Dev

数据库的SQL查询

来自分类Dev

查询SQL数据库

来自分类Dev

MS Access数据库使用VBA和SQL查询在列上插入值

来自分类Dev

使用INNER JOIN的SQL查询排除了某些字段值为MP的数据库记录

来自分类Dev

使用PHP查询从SQL数据库为Sagepay返回值

来自分类Dev

使用SQL查询选择数据库数据时出错?

来自分类Dev

使用CDbCriteria针对值数组查询数据库

来自分类Dev

使用T-SQL变量查询数据库

来自分类Dev

使用sql子查询更新mysql数据库

来自分类Dev

使用Access和Sql数据库构建查询

来自分类Dev

使用 SQL 查询数据库表中的 XML 字段

来自分类Dev

使用 Sql 查询在足球数据库中找到复出

来自分类Dev

如何使用此数据库设计编写 SQL 查询

来自分类Dev

SQL查询以从数据库检索数据

来自分类Dev

将JSON值写入SQL数据库

来自分类Dev

从数据库查询中过滤值

来自分类Dev

查询数据库,空列值?

来自分类Dev

使用php从SQL数据库传递选择值

来自分类Dev

使用 PHP 显示 SQL 数据库中的 int 值

来自分类Dev

从数据库查询轨道创建JSON

来自分类Dev

JSON数据库表查询

来自分类Dev

SQL Server:大块数据库查询

来自分类Dev

Oracle数据库SQL查询

来自分类Dev

SQL查询设计欠佳的数据库

来自分类Dev

SQL数据库查询:计数(不同)

来自分类Dev

SQL查询员工数据库

来自分类Dev

在数据库中的SQL查询

来自分类Dev

SQL数据库查询/结构