我有一个字段,其类型为INTEGER NOT NULL DEFAULT 0,现在需要将其更改为bool类型。
这是我正在使用的代码:
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
任何想法吗?
谢谢。
USING mycolumn::text::boolean;
。该语句要求你将mycolumn
列转换成文本格式,然后再将其转换为布尔值。请注意,这句话只是提供了一个建议,具体情况可能因实际情况而异。 - Scott Bartell