如何在表中的 JSON 数据中搜索特定数据

Posted

技术标签:

【中文标题】如何在表中的 JSON 数据中搜索特定数据【英文标题】:How to search for specific data inside a JSON data at table 【发布时间】:2021-12-15 10:16:09 【问题描述】:

我有一个名为carts 的表,其结构如下:

1   crt_id Primary  bigint(20)      
2   crt_mbr_id      bigint(20)          
3   crt_session_id  varchar(128)    
4   crt_content     text    
5   crt_send_type   int(11)         
6   crt_completed   tinyint(1)          
7   created_at      timestamp           
8   updated_at      timestamp   

crt_content 的数据是这样的:

["id":"24","quantity":"1","price":3000,"discounted":3000,"coupon":0]

现在我需要在crt_content 中搜索号码24。但是我不知道这个sql命令是什么。

那么您介意帮助我了解如何在存储在表中的 JSON 数据中搜索特定数据吗?

【问题讨论】:

这能回答你的问题吗? mysql - Search JSON data column 【参考方案1】:

您可以在 where 子句中使用如下所示的 JSON_EXTRACT 函数:

JSON_EXTRACT(crt_content, "$.id") = "24"

不过,我想警告您,我不建议将此用于包含大量数据的解决方案。如果您想了解更多关于 JSON 搜索功能的信息,请查看here。

【讨论】:

以上是关于如何在表中的 JSON 数据中搜索特定数据的主要内容,如果未能解决你的问题,请参考以下文章

在大型数据库中搜索特定 ID?

如何在 MySQL 数据库中搜索特定列名? [复制]

在表格视图控制器iOS swift中搜索特定记录

如何在 DataTable 中搜索特定记录?

在所有表中的所有字段中搜索特定值 (Oracle)

在所有表中的所有字段中搜索特定值 (Oracle)