繁体   English   中英

如何从 mysql 数据库中选择准确的 JSON 数据?

[英]How to select exact JSON data from mysql database?

var sql = 'SELECT user_desc.language' +
'FROM user_desc ' +

与 Where 运算符苦苦挣扎,当前的思考过程:

sql += 'WHERE JSON_VALUE(user_desc.language, "$.english") = "true"'

这显然是错误的(返回未定义),但您了解我想要实现的目标。

数据如何保存在数据库中的示例:

{"russian":"false","english":"true"}

我认为可能有很多不同的方法可以做到这一点。

您可以尝试使用 MariaDB 10.2 中的JSON_SEARCH

此处的文档提供了完整的详细信息,但这里是一个示例:

Select
u.language
, Json_Unquote(Json_Extract(u.language, '$.english')) As json_language
From user_desc u
Where Json_Search(u.language, 'all', 'true') Like '%.english%';

然后,您可以将其包装在JavaScript 字符串文字中,而不是串联

编辑:使用 MariaDB 10.3 而不是@Ergest-Basha制作的 MySQL 8.0 快速添加DB Fiddle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM