1
任何人都可以幫我解決這個錯誤嗎?列是布爾類型,但表達式是文本類型提示:您需要重寫或轉換表達式
Update table
SET
tentative = case src.tentative
WHEN 1 THEN 't' ELSE 'f' END
FROM table
任何人都可以幫我解決這個錯誤嗎?列是布爾類型,但表達式是文本類型提示:您需要重寫或轉換表達式
Update table
SET
tentative = case src.tentative
WHEN 1 THEN 't' ELSE 'f' END
FROM table
您的列tentative
是BOOLEAN
類型;但是,您正嘗試使用TEXT
類型的值更新它。
所有你需要做的就是使用BOOLEAN
在您的更新,像這樣:
UPDATE table
SET tentative = CASE src.tentative WHEN 1 THEN TRUE ELSE FALSE END
FROM src_table src;
或者,但也許不太明顯,你可以這樣做:
UPDATE table
SET tentative = (src.tentative = 1)
FROM src_table src;
't'和'f'是TRUE和FALSE的有效文字 –
你有什麼具體問題? – Hamms
我在嘗試更新一列。暫定是布爾類型,但在源端是varchar。在投射時我遇到了這個問題。 – Ramesh
你似乎試圖從一個布爾型轉換成一個角色......你是否想要做'當'那麼1其他0結束'? – Hamms