DBAtlas · Атлас эксплуатации баз данных

22P02: invalid_text_representation

PostgreSQL

Что это значит?

При преобразовании текстовое значение не было допустимым представлением для целевого типа данных. Например, попытка преобразовать текст 'abc' в integer вызывает эту ошибку.

Почему возникает?

Нечисловой текст передан в числовой столбец/параметр; пустая строка ('') преобразуется в число/дату; недопустимый текст для UUID или enum; некорректный JSON; входные данные не в ожидаемом формате.

Как исправить

Убедитесь, что преобразуемое значение действительно допустимо. Проверяйте входные данные в приложении до преобразования типа. Преобразуйте пустые строки в NULL: NULLIF(value, ''). Для безопасного преобразования в PostgreSQL 16+ заранее проверяйте значение с помощью pg_input_is_valid('abc', 'integer') и используйте pg_input_error_info() для подробностей об ошибке; в старых версиях рассмотрите проверку (regex). Выясните, какая именно строка некорректна.

Открыть в DBAtlas →

Ещё по этой СУБД