如何在PostgreSQL的表中插入一个布尔值?

mrwjdhj3  于 2022-12-18  发布在  PostgreSQL
关注(0)|答案(2)|浏览(452)

我从MySQL转到PostgreSQL,然后在PostgreSQL*,中创建了test表**,其中包含BOOLEAN state,如下所示:

CREATE TABLE test (
  state BOOLEAN -- Here
);

但是,我无法将带有**1TRUE和带有0FALSE插入到test中,如下所示,即使下面的SQL查询在MySQL**中有效:
x一个一个一个一个x一个一个二个x
然后,我得到了下面的错误:

ERROR:  column "state" is of type boolean but expression is of type integer

那么,如何将布尔值插入到表中呢?

2q5ifsrm

2q5ifsrm1#

您可以在PostgreSQL中将**TRUE'1'以及FALSE'0'**一起插入,如下所示:

INSERT INTO test VALUES ('1');
INSERT INTO test VALUES ('0');

然后,将为**TRUEt和为FALSEf插入到test表格**中,如下所示:

postgres=# SELECT * FROM test;
 state
-------
 t
 f
(2 rows)


此外,下面的这些SQL查询还可以将**TRUEFALSE插入到test表**中,如下所示:

TRUE

INSERT INTO test VALUES (tRuE);
INSERT INTO test VALUES ('TrUe');
INSERT INTO test VALUES ('T');
INSERT INTO test VALUES ('t');
INSERT INTO test VALUES ('YeS');
INSERT INTO test VALUES ('Y');
INSERT INTO test VALUES ('y');
INSERT INTO test VALUES ('oN');

FALSE

x一个铝11块x一个铝12块x一个铝13块x一个铝14块x一个铝15块x一个铝16块x一个铝17块x一个铝18块x

j8ag8udp

j8ag8udp2#

在PostgreSQL中插入布尔值的标准方法是使用文字布尔值truefalse或任何计算结果为布尔值的表达式。
例如:

create table test (
  state boolean
);

insert into test (state) values (true);
insert into test (state) values (false);
insert into test (state) values (3 * 5 > 10);    

select * from test;

退货:

state
-----
t
f
t

参见db<>fiddle中的运行示例。

相关问题