DBAtlas · Atlas d'exploitation des bases de données

42804: datatype_mismatch

PostgreSQL

Que signifie cette erreur ?

Le type de données attendu et le type de données fourni ne correspondent pas. Par exemple, affectation d'une valeur de type erroné à une colonne, branches CASE renvoyant des types différents, ou branches UNION dont les types ne s'alignent pas.

Cause

Affectation incompatible avec le type de la colonne ; branches CASE/COALESCE produisant des types différents ; colonnes correspondantes d'une UNION de types différents ; valeur renvoyée (RETURN) ne correspondant pas au type de retour de la fonction ; valeur non booléenne là où un booléen est attendu.

Comment la corriger

Convertissez l'expression dans le bon type : value::integer ou CAST(value AS numeric). Faites renvoyer le même type à toutes les branches CASE. Dans une UNION, alignez les types des colonnes correspondantes des deux côtés. Assurez-vous que la condition WHERE produit un booléen.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur