Как я могу использовать JSON_EXTRACT в MySQL и получить строку без кавычек?

Если у меня есть простая инструкция SELECT:

SELECT JSON_EXTRACT('{"username":"Alexander"}', '$.username');

Я ожидаю, что он вернет Alexander, но вместо этого вернет "Alexander". Как я могу избавиться от котировок? Почему эта функция даже возвращает кавычки?

Ответ 1

вы можете использовать replace() с ним для удаления кавычек

SELECT replace(JSON_EXTRACT('{"username":"Alexander"}', '$.username'), '\"', '');

Ответ 2

Вы можете использовать JSON_UNQUOTE для достижения этой цели.

select JSON_UNQUOTE(JSON_EXTRACT(base, '$.scope')) as scope from t_name

ссылка:

Ответ 3

Вы можете использовать SUBSTRING

SELECT SUBSTRING( JSON_EXTRACT ( '{"username":"Alexander"}', '$.username' ), 2, ( LENGTH( JSON_EXTRACT ( '{"username":"Alexander"}', '$.username' ) ) - 2 ) );