簡體   English   中英

如何向PostgreSQL中的表插入一個boolean的值?

[英]How to insert a boolean value to a table in PostgreSQL?

我從MySQLPostgreSQL然后,我在 PostgreSQL 中創建了帶有 BOOLEAN state statetest,如下所示:

CREATE TABLE test (
  state BOOLEAN -- Here
);

但是,即使下面的 SQL 查詢在MySQL中工作,我也無法插入帶有1TRUE和帶有0FALSEtest,如下所示:

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

然后,我收到以下錯誤:

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

那么,如何向表中插入一個 boolean 值呢?

您可以在PostgreSQL中插入帶有'1' TRUE和帶有'0'FALSE ,如下所示:

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

INSERT INTO test VALUES (fAlSe);
INSERT INTO test VALUES ('FaLsE');
INSERT INTO test VALUES ('F');
INSERT INTO test VALUES ('f');
INSERT INTO test VALUES ('No');
INSERT INTO test VALUES ('N');
INSERT INTO test VALUES ('n');
INSERT INTO test VALUES ('oFf');

在 PostgreSQL 中插入 boolean 值的標准方法是使用文字 boolean 值truefalse或任何計算結果為 boolean 的表達式。

例如:

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中的運行示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM