gpt4 book ai didi

mysql - 使用 mysql JSON_SEARCH : Why do I have to quote numbers?

转载 作者:可可西里 更新时间:2023-11-01 07:43:51 25 4
gpt4 key购买 nike

我有一个“测试”表,其中包含一个 PK 字段“id”和一个 JSON 字段“json_data”。我做了以下插入:

insert into test (json_data) values (JSON_ARRAY(1,2));

但是,如果我这样做

select * from test where JSON_SEARCH(json_data, 'all', 2) is not null;

我得到“空集”。虽然如果我插入

insert into test (json_data) values (JSON_ARRAY("1","2"));

然后再重复查询,果然终于搞定了

+----+------------+
| id | json_data |
+----+------------+
| 2 | ["1", "2"] |
+----+------------+

为什么我必须引用数字才能查询它们?我不想那样做,有什么办法吗?

最佳答案

根据 MySQL 文档,JSON_SEARCH 仅适用于字符串。

试试这个:

SET @j = '[3, 2, 1]';
SELECT JSON_CONTAINS(@j, '3', '$');

关于mysql - 使用 mysql JSON_SEARCH : Why do I have to quote numbers?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37845757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com