Как распарсить строку средствами sql?

Добрый день.
Имеется строка таково вида в столбце с типом text
[{"name":"Новая технологическая карта","uniq_id":"139305ded184a2ea6c","deleted_table":"0","current":[{"competencies":["3947"],"learning-activities":"2","classroom":"1","valuation-tools":["10","32"],"points":"20","deleted":"0"},{"competencies":["3948"],"learning-activities":"5","classroom":"2","valuation-tools":["2"],"points":"50","deleted":"0"},{"competencies":["3948"],"learning-activities":"2","classroom":"1","valuation-tools":["11","32"],"points":"30","deleted":"0"}],"total_point_current":"100","total_point_premium":"0","type_control":"1","point_exams":"0","total_point":"100"}]


Как её распарсить с помощью sql, чтобы получить массивы valuation-tools из каждой подстроки? Такое извращение, потому что нужно отгрузить данные напрямую из бд. Воспользоваться php или python - нет возможности
  • Вопрос задан
  • 374 просмотра
Решения вопроса 1
Enokin
@Enokin
Full-stack разработчик
Это может быть сделано с использованием функции SQL JSON_EXTRACT(). Например, следующий запрос выберет массив valuation-tools из каждой подстроки в столбце text_column:

SELECT JSON_EXTRACT(
  JSON_EXTRACT(text_column, '$[*].current[*]'),
  '$[*]."valuation-tools"'
)
FROM table_name;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы