问题标签 [mysql-json]

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 回答
5173 浏览

mysql - mysql JSON路径遍历数组的正确语法?

我的问题是关于在 mysql 的 JSON 数据类型中搜索时搜索 json 数组的内容。

数据库结构

所以,如果我在 mysql 表中有两行,带有一个 json 字段,称为foo.

第一行有:

第二行有:

有效的东西

我可以跑

返回 2 个结果:barbaz

我可以跑

返回 1 个结果:1- 即。第一行的id。

我的问题

mysql 文档声明您可以使用“[*]评估 JSON 数组中所有元素的值”。

但是,以下查询返回零项:

我的查询有什么问题?

0 投票
4 回答
27228 浏览

mysql - 在 MySQL 中使用对象数组查询 JSON 列

我有一个带有以下数组的 json 列:

我尝试了以下查询以获取文档列中具有 id 的行24276e4b-de81-4c2c-84e7-eed9c3582a31,但它不返回结果:

有人知道如何进行正确的查询吗?

0 投票
1 回答
1177 浏览

mysql - array.array 的 JSON_REMOVE 导致“路径表达式可能不包含 * 和 ** 标记”错误

如果我这样做: SELECT JSON_REMOVE(@I, '$.friends[*].name');或者SELECT JSON_REMOVE(@I, '$.friends[*].friends');在下面的 JSON 上,我得到这个错误:

JSON:

但是,如果我这样做SELECT JSON_EXTRACT(@I, '$.friends[*].friends'),它会很好地返回结果。

基本上我想返回一个全部friends.name删除甚至friends.friends删除的字符串。

0 投票
1 回答
100 浏览

java - SQL JSON 列(忽略大小写)

我有一个 JSON 格式的 SQL 列,看起来像data->'$.name',我想问一下是否可以对该列进行忽略大小写,例如 UPPER(data->'$.name').

例子: select * from TYPE_hugo_DATA WHERE UPPER(data->'$.name') = UPPER('hugo');

0 投票
1 回答
818 浏览

mysql - 在 JSON 数据类型的数组中搜索对象属性的问题

我有以下value作为 JSON 类型的架构

我希望下面的查询返回我的行foo,但它没有。

该条件value->'$.friends[*].friendId'似乎有效,因为它适用于以下查询:

那么查询是怎么来的select * from people where value->'$.friends[*].friendId' = "123";没有返回结果呢?

0 投票
1 回答
3318 浏览

mysql - 要在“IN”子句中使用的 MySQL JSON 数组?

我可以使用 JSON 数组作为INMySQL 子句的参数(版本 5.7 及更高版本,因为它支持 JSON)?

以下是我无法正常工作的代码...

0 投票
0 回答
558 浏览

mysql - 如何在 JSON 数据类型中索引数组或嵌套对象中的属性?

生成虚拟列是索引 JSON 属性的推荐方法。

但是,如果我要索引的属性位于数组或对象中怎么办?例如,如果 JSON 属性是一个 userId 数组,并且我正在查询数组中的 userId,那么我想被索引。最好的方法是什么?

0 投票
2 回答
16747 浏览

mysql - 将 JSON_EXTRACT 与 CAST 或 STR_TO_DATE 链接失败

我正在尝试从 MySQL 中的 JSONFIELD“数据”中提取日期时间。

但是,如果我执行简单的 JSON_EXTRACT,则返回字段类型是 JSON。

我想将其转换为 MySQL DATETIME。但是如果我链接 JSON_EXTRACT 和 STR_TO_DATETIME,我会得到所有 NULL 值:

同样,作为 DATETIME 的 CAST 也会失败:

当我从字符串值开始时,这两个命令都有效:

将不胜感激任何帮助解决这个问题!

0 投票
1 回答
2706 浏览

mysql - 从 MySQL 中的字符串 json 数组中删除元素

我有许多列的表,其中包含对象的字符串数组 json。

我需要从这些数组中删除几个元素。我发现如何从一行中删除元素,但如何在多行上删除?

对于一行,我使用 json_search 来查找必须删除的元素,但我有很多行和许多元素要删除。没有存储过程(while循环)有什么办法吗?

这是数据样本:

我只需要从每个array包含a和/或g

我的查询是:

我找到了如何更新所有列的方法,但是这个查询只删除了 json 字段,而不是整个对象。如何删除整个对象?

0 投票
4 回答
30278 浏览

mysql - 使用 MySQL JSON 字段加入表

我有一个存储 id 列表的 json 字段(我知道这里不是最佳实践),我想知道是否可以在这个 JSON 字段上使用 do 操作并在 sql 中使用它们。

下面是我想要实现的一个虚构示例,这样的事情可行吗?

有了上面的数据,我想设计一个查询,给我这样的结果:

我在想的一些伪风格的 SQL 在下面,尽管我仍然不知道这是否可能,或者我将使用 mysql 提供的 JSON 函数来实现这一点

如果问题不清楚,请告诉我。