У меня есть столбец metadata
, который имеет формат TEXT
, но содержит материал, который обычно является JSON. Я хочу выбрать в нем определенное значение (например, metadata :: JSON -> 'register' ->> 'date'
), но если JSON плохо отформатирован или если это поле не существует, я получаю сообщение об ошибке. Могу ли я сделать, чтобы этот столбец возвращал значение NULL
, когда он получил ошибку?Catch Значение столбца исключения и изменения PostgreSQL
0
A
ответ
1
Вы можете написать хранимую процедуру, которая пытается передать в json и возвращает null отказа. Что-то вроде этого:
create function to_json(t text) returns json as $$
begin
return t::json;
exception when invalid_text_representation then
return null;
end;
$$ language plpgsql;
, а затем использовать to_json(metadata) -> 'register' ->> 'date'
.
Смежные вопросы
- 1. NodeJS и pg-prom, catch Исключения PostgreSQL
- 2. User.DoesNotExist - значение исключения catch
- 3. Обновить значение столбца PostgreSQL
- 4. Получить значение из исключения Try/Catch?
- 5. Удаление исключения try/catch
- 6. Триггеры и исключения PostgreSQL
- 7. Try-catch на PostgreSQL не исключение catch
- 8. округленное значение столбца в postgresql
- 9. Исправление PostgreSQL или значение столбца
- 10. PostgreSQL v7.4 ALTER TABLE для изменения столбца
- 11. JAVA: Try catch Исключения
- 12. Ядро python ZMQ из исключения catch catch
- 13. .NET Catch Общие исключения
- 14. Выбрасывание исключения в блоке catch
- 15. Значение столбца изменения знака искры
- 16. Неправильное блокирование catch после исключения исключения
- 17. PDO try-catch и атрибут исключения
- 18. Написание теста Junit для исключения исключения и блока catch
- 19. Вызов конструктора из исключения конструктора и исключения catch
- 20. Сравнение сообщения catch из исключения
- 21. Обработка исключения catch на php
- 22. бросать новые исключения в catch()
- 23. Выбрасывание исключения в блоке catch
- 24. Исключения из C (Try Catch)
- 25. Объект исключения в блоке catch
- 26. Тип исключения в блоке catch
- 27. Исключения Ocaml с Try Catch
- 28. catch исключения из всех страниц
- 29. Как добавить значение столбца в postgresql?
- 30. WCF Service - catch глобальные исключения