在我的mysql表中,其中一个字段包含自然数据:
{"gateway":"somevalue","location":"http://www.somesite.org/en/someresource","ip":"100.0.0.9"}
我需要从此字段中提取location属性的值,即
在这种情况下。如何编写查询来实现此目的?
答案 0 :(得分:3)
除了最好不在数据库中存储任何形式(包括JSON)的分隔值,而是规范化数据之外,您可以通过以下方式利用非常方便的SUBSTRING_INDEX()
函数
SELECT TRIM(BOTH '"' FROM SUBSTRING_INDEX(SUBSTRING_INDEX(column_name, '"location":', -1), ",", 1)) location
FROM table_name
WHERE ...