Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как удалить все значения null из json массива в mysql?

Давид Мейстер Мастер (2060), на голосовании 1 неделю назад
Голосование за лучший ответ
sora Мастер (1529) 1 месяц назад
В MySQL нет нативной поддержки для удаления значений null из JSON-массива, но можно воспользоваться функциями JSON в MySQL для выполнения этой операции. Предположим, у вас есть столбец json_column в таблице your_table, содержащий JSON-массив. Вот как можно удалить все значения null из этого массива:

 UPDATE your_table 
SET json_column = JSON_REMOVE(json_column, JSON_UNQUOTE(JSON_SEARCH(json_column, 'one', NULL)))
WHERE json_column IS NOT NULL
AND JSON_SEARCH(json_column, 'one', NULL) IS NOT NULL;

Этот запрос использует функцию JSON_SEARCH, чтобы найти путь к значениям null в JSON-массиве, а затем JSON_REMOVE, чтобы удалить найденные значения null. Условие WHERE гарантирует, что запрос будет применен только к тем строкам, в которых столбец json_column не является null, и если значение null находится в массиве.
Давид МейстерМастер (2060) 1 месяц назад
Неа, не работает
sora Мастер (1529) Давид Мейстер, ничего не делает, выдает ошибку или выполняет функцию неправильно?
Похожие вопросы