Para poder fazer o que você quer, você precisa do MySQL 5.7.8+. Desde 5.7.8 você pode usar
JSON_EXTRACT
função para extrair um valor de uma string JSON:SELECT JSON_EXTRACT('{"id": 14, "name": "Aztalan"}', '$.name');
+---------------------------------------------------------+
| JSON_EXTRACT('{"id": 14, "name": "Aztalan"}', '$.name') |
+---------------------------------------------------------+
| "Aztalan" |
+---------------------------------------------------------+
Extraído de aqui .
No MySQL 5.6, você simplesmente não consegue obter o valor desejado, pois o MySQL não sabe nada sobre o que é um objeto JSON. Então suas opções são:
- Atualize para 5.7.8+
- Analisar o resultado da consulta com algo que lide com JSON:
- Pode ser PHP json_decode (ou equivalente em seu idioma)
- Uma ferramenta online como http://json.parser.online.fr/