umschreiben oder umwandeln Kann mir jemand mit dem Fehler helfen?Spalte ist vom Typ Boolean aber Ausdruck ist vom Typ Text Hinweis: Sie müssen den Ausdruck
Update table
SET
tentative = case src.tentative
WHEN 1 THEN 't' ELSE 'f' END
FROM table
umschreiben oder umwandeln Kann mir jemand mit dem Fehler helfen?Spalte ist vom Typ Boolean aber Ausdruck ist vom Typ Text Hinweis: Sie müssen den Ausdruck
Update table
SET
tentative = case src.tentative
WHEN 1 THEN 't' ELSE 'f' END
FROM table
Ihre Spalte tentative
ist ein BOOLEAN
Typ; Sie versuchen jedoch, es mit einem TEXT
-Wert zu aktualisieren.
Alles, was Sie tun müssen, ist, wie so BOOLEAN
in Ihrem Update verwenden:
UPDATE table
SET tentative = CASE src.tentative WHEN 1 THEN TRUE ELSE FALSE END
FROM src_table src;
Alternativ, aber vielleicht weniger offensichtlich Sie können dies tun:
UPDATE table
SET tentative = (src.tentative = 1)
FROM src_table src;
't' und 'f' sind gültige Literale von TRUE und FALSE –
was ist Ihre genaue Frage? – Hamms
Ich versuche eine Spalte zu aktualisieren. Tentativ ist vom booleschen Typ, aber auf der Quellseite ist es varchar. Ich bekomme dieses Problem beim Casting. – Ramesh
Sie scheinen zu versuchen, von einem Booleschen zu einem Charakter zu wechseln ... wollen Sie vielleicht "WANN" t "DANN 1 ELS 0 ENDE"? – Hamms