前面介绍了PostgreSQL支持的数字类型、字符类型、时间日期类型,这些数据类型是关系型数据库的常规数据类型,此外PostgreSQL还支持很多非常规数据类型,比如布尔类型、网络地址类型、数组类型、范围类型、json/jsonb类型等,从这一节开始将介绍PostgreSQL支持的非常规数据类型,本节介绍布尔类型,PostgreSQL支持的布尔类型如表所示。
true状态的有效值可以是TRUE、t、true、y、yes、on、1; false状态的有效值为FALSE、f、false、n、no、off、0,首先创建一张表来进行演示,如下所示:
mydb=> CREATE TABLE test_boolean(cola boolean, colb boolean);CREATE TABLEmydb=> INSERT INTO test_boolean (cola, colb) VALUES ('true', 'false');INSERT 0 1mydb=> INSERT INTO test_boolean (cola, colb) VALUES ('t', 'f');INSERT 0 1mydb=> INSERT INTO test_boolean (cola, colb) VALUES ('TRUE', 'FALSE');INSERT 0 1mydb=> INSERT INTO test_boolean (cola, colb) VALUES ('yes', 'no');INSERT 0 1mydb=> INSERT INTO test_boolean (cola, colb) VALUES ('y', 'n');INSERT 0 1mydb=> INSERT INTO test_boolean (cola, colb) VALUES ('1', '0');INSERT 0 1mydb=> INSERT INTO test_boolean (cola, colb) VALUES (null, null);INSERT 0 1
查询表test_boolean数据,尽管有多样的true、false状态输入值,查询表布尔类型字段时true状态显示为t, false状态显示为f,并且可以插入NULL字符,查询结果如下所示:mydb=> SELECT * FROM test_boolean ;
cola | colb---------+------t | ft | ft | ft | ft | ft | f|(7 rows)