DBAtlas · 数据库运维图谱

42804: datatype_mismatch

PostgreSQL

含义

预期的数据类型与提供的数据类型不匹配。例如,向列赋予错误类型的值、CASE 分支返回不同类型,或 UNION 各分支类型不一致。

原因

与列类型不兼容的赋值;CASE/COALESCE 分支产生不同类型;UNION 中对应列类型不同;RETURN 的值与函数返回类型不匹配;在需要 boolean 的地方使用了非 boolean 值。

解决方法

将表达式转换为正确类型:value::integer 或 CAST(value AS numeric)。使所有 CASE 分支返回相同类型。在 UNION 中,对齐两侧对应列的类型。确保 WHERE 条件产生 boolean 值。

在 DBAtlas 中打开 →

同一数据库的其他条目