在Oracle数据库中是否存在布尔类型,类似于Ms SQL Server中的BIT数据类型?
当前回答
一个常见的节省空间的技巧是将布尔值存储为Oracle CHAR,而不是NUMBER:
其他回答
根据Ammoq和kupa的回答,我们使用默认为0的数字(1),不允许为空。
下面是一个add列来演示:
ALTER TABLE YourSchema.YourTable ADD (ColumnName NUMBER(1) DEFAULT 0 NOT NULL);
希望这能帮助到一些人。
在pl/sql中有一个布尔类型,但没有一个可以用作列的数据类型。
如果你使用Java和Hibernate,那么使用NUMBER(1,0)是最好的方法。正如您在这里看到的,Hibernate会自动将这个值转换为布尔值。
只是因为还没有人提到它:使用RAW(1)似乎也是常见的实践。
而不是SQL级别,这很遗憾 但是在PLSQL中有一个