【问题标题】:Is there any way to use values from a JSON object in a SQL Select statement?有没有办法在 SQL Select 语句中使用来自 JSON 对象的值?
【发布时间】:2019-08-07 13:59:52
【问题描述】:

我想编写一个查询来选择 JSON 对象的属性中的值与给定字符串匹配的所有记录。例如,假设我有一个包含地址列的表,它是一个 JSON 对象。第一条记录的地址如下所示:

{
 "addressLine": "123 fake road"
 "city": "Buffalo"
 "state": "New York"
}

第二条记录的地址是这样的:

{
 "addressLine": "123 fake road"
 "city": "New Haven"
 "state": "Connecticut"
}

是否有可能在给定单词“New”的情况下编写一个查询,该查询将返回两条记录,因为 JSON 的值包含该字符串?谢谢!

【问题讨论】:

标签: mysql sql json


【解决方案1】:

您可以使用 JSON_EXTRACT 函数:

SELECT * FROM Table WHERE json_extract(JsonColumn, '$.city') like 'New%'

其他信息

【讨论】:

  • 如何回答这个问题?我在搜索某些内容的代码中看不到任何内容。而且我错过了对代码创始人的明确归属。
  • @PaulSpiegel json_extract(JsonColumn, '$.city') like 'New%'
  • @PaulSpiegel 我提供了 OP 可以从中受益的方法,并展示了如何从 JSON 读取列的示例。怎么不相关??
  • 如果这回答了问题,那么它应该作为复制代码的位置的副本关闭。
  • @PaulSpiegel 我从 GitHub 复制了代码并提供了链接,此外,我还提供了与此问题类似的所有链接。此外,您有权将其标记为重复
猜你喜欢
  • 2021-02-04
  • 2014-09-29
  • 2021-08-22
  • 2010-10-17
  • 1970-01-01
  • 2021-12-15
  • 2019-06-21
  • 1970-01-01
  • 2019-08-27
相关资源
最近更新 更多