Mysql 有没有办法在SQL Select语句中使用JSON对象中的值?
我想编写一个查询来选择JSON对象属性中的值与给定字符串匹配的所有记录。例如,假设我有一个表,其中一列表示地址,这是一个JSON对象。第一条记录的地址如下所示:Mysql 有没有办法在SQL Select语句中使用JSON对象中的值?,mysql,sql,json,Mysql,Sql,Json,我想编写一个查询来选择JSON对象属性中的值与给定字符串匹配的所有记录。例如,假设我有一个表,其中一列表示地址,这是一个JSON对象。第一条记录的地址如下所示: { "addressLine": "123 fake road" "city": "Buffalo" "state": "New York" } { "addressLine": "123 fake road" "city": "New Haven" "state": "Connecticut" } 第二条记录的地址如下
{
"addressLine": "123 fake road"
"city": "Buffalo"
"state": "New York"
}
{
"addressLine": "123 fake road"
"city": "New Haven"
"state": "Connecticut"
}
第二条记录的地址如下所示:
{
"addressLine": "123 fake road"
"city": "Buffalo"
"state": "New York"
}
{
"addressLine": "123 fake road"
"city": "New Haven"
"state": "Connecticut"
}
既然JSON的值包含该字符串,那么是否可以在给定单词“New”的情况下编写一个将返回两条记录的查询?谢谢 您可以使用JSON_提取函数:
SELECT * FROM Table WHERE json_extract(JsonColumn, '$.city') like 'New%'
其他信息
json_extract(JsonColumn,$.city)像'New%
@PaulSpiegel我提供了OP可以从中受益的方法,并展示了如何从json读取列的示例。它是如何不相关的??如果这回答了问题,那么它应该作为复制源代码的副本关闭。@PaulSpiegel我从GitHub复制了代码,并提供了链接,此外,我还提供了与此问题类似的所有链接。此外,您有权将其标记为副本