在Postgresql 9.2中是否可以为布尔值false插入0,为布尔值true插入1而不进行类型转换

时间:2014-05-05 08:26:16

标签: sql postgresql postgresql-9.2

我正在使用PostgreSQL 9.2,我希望为布尔值false插入0,为布尔值true插入1,而不使用任何类型转换,这是PostgreSQL数据库无法接受的。 通常PostgreSQL允许将布尔值与整数(即0或1)进行比较,但不能使用0或1插入布尔值来表示true和false。

那么是否有任何技术可以插入0表示布尔值为false,1表示布尔值为真,我可以使用0和1比较布尔值?

这是我使用的演员表达式

update pg_cast set castcontext = 'i' where oid in (
select c.oid
from pg_cast c
inner join pg_type src on src.oid = c.castsource
inner join pg_type tgt on tgt.oid = c.casttarget
where src.typname like 'int%' and tgt.typname like 'bool%'
)

0 个答案:

没有答案