mysql - 类似 sql 的语句不适用于 JSON

标签 mysql json

我有一个这样的 JSON 字段。

{"address": "nicholas street, lidcombe, nsw 2141", "display": "Nicholas Street, LIDCOMBE, NSW 2141"}

我想检索从第一个字母开始的地址。例如,如果用户键入“N”,则应检索从 N 开始的所有地址。我有这样的 sql 语句

    SELECT    addresses
FROM      Addresses
WHERE     JSON_EXTRACT(addresses, '$.display') LIKE "N%"

但是我得到一个空值。

最佳答案

一个选项使用 REGEXP:

SELECT addresses
FROM Addresses
WHERE addresses REGEXP '"address":"N.*","display":".*"' ;

关于mysql - 类似 sql 的语句不适用于 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48943798/

相关文章:

mysql - 从 shell 脚本将表导出为 mysql 中的 csv

php - 如何使用 PHP 将 SQL Select 语句链接到 HTML 按钮

mysql - Golang Mysql connectex 套接字 block

json - Nodejs json-schema 无法读取架构

Java 通过键名从对象中获取值

Mysql 连接 5 个表或存储过程/函数

php - 从MySQL中检索两级分层数据的最佳方法

javascript - 带 JSON 连字符的 Angular orderby

javascript - 使用 IDE (Node) 读取本地存储的 JSON 文件

json - 如何(反)序列化对象列表?