1

我在体育场表(mysql)中有一个名为 location 的 JSON 字段,我可以将它与下面的另一个 json 进行比较吗?...

select *from stadiums where location = '{"lat":40, "lng":3}';

*查询不会返回任何错误,但实际上是巧合时不会返回任何行

4

2 回答 2

3

您可以使用CAST()功能:

SELECT * FROM stadiums WHERE location = CAST('{"lat":40, "lng":3}' AS JSON);
于 2020-06-30T11:13:54.217 回答
0

MySQL 具有可用于搜索 JSON 字段的函数。JSON_SEARCH JSON_CONTAINS JSON_EXTRACT

尝试类似:

select * from stadiums where
  JSON_EXTRACT(location, '$.lat') = 40 and
  JSON_EXTRACT(location, '$.lng') = 3;
于 2016-11-20T02:31:53.920 回答