Ich versuche, eine Smallint auf einen Boolean in PostgreSQL zu werfen. Das funktioniert nicht, aus der Box, zum Beispiel:Casting von Smallint zu Boolean in PostgreSQL
select (1::smallint)::bool;
returns "FEHLER: 42846: nicht Typ smallint werfen kann boolean"
ich dies mit beheben kann:
select (1::smallint)::int::bool;
aber Ich frage mich, ob es eine Möglichkeit gibt, wie ich smallint
direkt zu boolean
zu übertragen kann?
Der Grund dafür ist, dass ich (und andere, mit denen ich arbeite) über Sammelabfragen verfügen, die eine int
-Spalte aus einer Datenbanktabelle in boolean
umwandeln. Ich möchte diese Spalte zu smallint
ändern, aber dies würde diese Logik bremsen, weil es keinen direkten Wurf von smallint
zu boolean
gibt. Ist es möglich, die postgres CREATE CAST
zu verwenden, um zu definieren, wie man eine smallint
zu einer boolean
?
Aus welchem Grund unterstützt PostgreSQL diese Konvertierung nicht nativ? – usta