DBAtlas · Veritabanı operasyon atlası

42804: datatype_mismatch

PostgreSQL

Ne demek?

Beklenen veri tipi ile sağlanan veri tipi uyuşmuyor. Örneğin bir sütuna yanlış tipte değer atanması, CASE dallarının farklı tip döndürmesi ya da UNION taraflarının tiplerinin tutmaması.

Neden olur?

Sütun tipiyle uyuşmayan atama; CASE/COALESCE dallarının farklı tip üretmesi; UNION sorgularında karşılık gelen sütunların tiplerinin farklı olması; fonksiyon dönüş tipiyle RETURN edilen değerin uyuşmaması; boolean beklenen yerde başka tip.

Nasıl çözülür?

İlgili ifadeyi doğru tipe dönüştürün: deger::integer veya CAST(deger AS numeric). CASE tüm dallarının aynı tipi döndürmesini sağlayın. UNION'da her iki tarafta karşılıklı sütun tiplerini eşitleyin. WHERE koşulunun boolean üretmesine dikkat edin.

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar