DBAtlas · Atlas für Datenbankbetrieb

42804: datatype_mismatch

PostgreSQL

Was bedeutet das?

Erwarteter und gelieferter Datentyp stimmen nicht überein. Zum Beispiel die Zuweisung eines Werts falschen Typs an eine Spalte, CASE-Zweige mit unterschiedlichen Rückgabetypen oder UNION-Zweige mit nicht übereinstimmenden Typen.

Ursache

Eine mit dem Spaltentyp inkompatible Zuweisung; CASE-/COALESCE-Zweige liefern unterschiedliche Typen; einander entsprechende Spalten in einer UNION haben unterschiedliche Typen; ein per RETURN zurückgegebener Wert passt nicht zum Rückgabetyp der Funktion; kein boolean, wo ein boolean erwartet wird.

Lösung

Caste den Ausdruck in den richtigen Typ: value::integer oder CAST(value AS numeric). Sorge dafür, dass alle CASE-Zweige denselben Typ liefern. Gleiche in einer UNION die Typen einander entsprechender Spalten auf beiden Seiten an. Stelle sicher, dass die WHERE-Bedingung einen boolean ergibt.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank