如何在 PGSQL 中将布尔列更改为位变化
Posted
技术标签:
【中文标题】如何在 PGSQL 中将布尔列更改为位变化【英文标题】:How to change a boolean column to bit varying in PGSQL 【发布时间】:2021-11-14 02:40:45 【问题描述】:create table test_div1( i boolean)
insert into test_div1 values('1');
ALTER TABLE test_div1 ALTER i TYPE bit varying USING (i::text::bit varying );
//不工作得到错误。 请帮忙
【问题讨论】:
你为什么要这样做?你想解决什么问题? 【参考方案1】:我认为你得到了error: "t" is not a valid binary digit
,postgres 无法自动将true
转换为1
你需要做的就是像这样自己处理转换
create table test_div1( i boolean)
insert into test_div1 values('1');
insert into test_div1 values(false), ('1'), (true), ('0');
ALTER TABLE test_div1 ALTER i TYPE bit varying USING (case when i = true then B'1' else B'0' end);
这是一个工作示例https://www.db-fiddle.com/f/wukNuibgNsJqzydNqz4eFy/0
【讨论】:
感谢您的详细回答。它成功了!以上是关于如何在 PGSQL 中将布尔列更改为位变化的主要内容,如果未能解决你的问题,请参考以下文章