【发布时间】:2017-07-15 06:31:59
【问题描述】:
我正在使用 postgres。我创建了一个表xyz,其中一个列abc 类型为character varying(3)。我在abc 列中保存了'YES' 或'NO'。
我在表中存储了一段时间的数据。但现在要求发生了变化。我们需要将abc 列类型从character varying(3) 更改为boolean。
有什么方法可以将abc 类型从character varying(3) 更改为boolean 并将数据YES 更改为true 和NO 更改为false?
请帮助我,否则如果我们不想丢失数据,我该如何继续。
我使用查询
ALTER TABLE xyz ALTER abc TYPE boolean
USING CASE abc WHEN 'YES' THEN TRUE ELSE FALSE END;
但它不起作用,它抛出错误不能自动转换为布尔类型
【问题讨论】:
标签: sql postgresql ddl alter-table