DBAtlas · Atlas de operaciones de bases de datos

42804: datatype_mismatch

PostgreSQL

¿Qué significa?

El tipo de datos esperado y el proporcionado no coinciden. Por ejemplo, asignar a una columna un valor del tipo incorrecto, ramas CASE que devuelven tipos distintos o ramas UNION cuyos tipos no coinciden.

¿Por qué ocurre?

Una asignación incompatible con el tipo de la columna; ramas CASE/COALESCE que producen tipos distintos; columnas correspondientes de un UNION con tipos distintos; un valor devuelto con RETURN que no coincide con el tipo de retorno de la función; un valor no booleano donde se espera un boolean.

Cómo solucionarlo

Convierta la expresión al tipo correcto: value::integer o CAST(value AS numeric). Haga que todas las ramas CASE devuelvan el mismo tipo. En un UNION, alinee los tipos de las columnas correspondientes de ambos lados. Asegúrese de que la condición WHERE produzca un boolean.

Abrir en DBAtlas →

Más entradas de este motor