Ответ 1
вы можете использовать replace() с ним для удаления кавычек
SELECT replace(JSON_EXTRACT('{"username":"Alexander"}', '$.username'), '\"', '');
Если у меня есть простая инструкция SELECT:
SELECT JSON_EXTRACT('{"username":"Alexander"}', '$.username');
Я ожидаю, что он вернет Alexander
, но вместо этого вернет "Alexander"
.
Как я могу избавиться от котировок? Почему эта функция даже возвращает кавычки?
вы можете использовать replace() с ним для удаления кавычек
SELECT replace(JSON_EXTRACT('{"username":"Alexander"}', '$.username'), '\"', '');
Вы можете использовать JSON_UNQUOTE
для достижения этой цели.
select JSON_UNQUOTE(JSON_EXTRACT(base, '$.scope')) as scope from t_name
ссылка:
Вы можете использовать SUBSTRING
SELECT SUBSTRING( JSON_EXTRACT ( '{"username":"Alexander"}', '$.username' ), 2, ( LENGTH( JSON_EXTRACT ( '{"username":"Alexander"}', '$.username' ) ) - 2 ) );