DBAtlas · Veritabanı operasyon atlası

22P02: invalid_text_representation

PostgreSQL

Ne demek?

Bir metin değeri, hedef veri tipine dönüştürülürken geçerli bir gösterim değildi. Örneğin 'abc' metnini integer'a çevirmeye çalışmak bu hatayı üretir.

Neden olur?

Sayısal bir sütuna/parametreye sayı olmayan metin gönderilmesi; boş dize ('') değerinin sayı/tarih olarak dönüştürülmesi; UUID ya da enum için geçersiz metin; yanlış biçimli JSON; giriş verisinin beklenen formatta olmaması.

Nasıl çözülür?

Dönüştürülen değerin gerçekten geçerli olduğunu doğrulayın. Uygulamada tip dönüşümünden önce giriş doğrulaması yapın. Boş dizeleri NULL'a çevirin: NULLIF(deger, ''). Güvenli dönüşüm için PostgreSQL 16+ sürümünde pg_input_is_valid('abc', 'integer') ile değeri önceden sınayın, hata ayrıntısı için pg_input_error_info() kullanın; eski sürümlerde bir doğrulama sorgusu (regex) değerlendirin. Hangi satırın bozuk olduğunu daraltarak bulun.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar