42804: datatype_mismatch
PostgreSQL意味
想定されるデータ型と指定されたデータ型が一致しない。例えば列への誤った型の値の代入、CASE の分岐が異なる型を返す、UNION の分岐の型が揃っていない。
原因
列の型と互換性のない代入、CASE/COALESCE の分岐が異なる型を生成する、UNION の対応する列の型が異なる、RETURN した値が関数の戻り値の型と一致しない、boolean が期待される箇所に boolean でない値。
対処方法
式を正しい型にキャストする: value::integer または CAST(value AS numeric)。CASE のすべての分岐が同じ型を返すようにする。UNION では両側の対応する列の型を揃える。WHERE 条件が boolean を返すことを確認する。