35
我有一個INTEGER NOT NULL DEFAULT 0的字段,我需要將其更改爲BOOL。Postgres改變列整數布爾
這是我在用的:
ALTER TABLE mytabe
ALTER mycolumn TYPE bool
USING
CASE
WHEN 0 THEN FALSE
ELSE TRUE
END;
但我得到:
ERROR: argument of CASE/WHEN must be type boolean, not type integer
********** Error **********
ERROR: argument of CASE/WHEN must be type boolean, not type integer
SQL state: 42804
任何想法?
謝謝。
接受的答案是更好,因爲它確實*不*依賴型鑄造。例如,此方法失敗,'不能將類型smallint轉換爲布爾值'。 – 2017-09-18 14:55:15