在Oracle数据库中是否存在布尔类型,类似于Ms SQL Server中的BIT数据类型?
当前回答
如果你使用Java和Hibernate,那么使用NUMBER(1,0)是最好的方法。正如您在这里看到的,Hibernate会自动将这个值转换为布尔值。
其他回答
在pl/sql中有一个布尔类型,但没有一个可以用作列的数据类型。
一个常见的节省空间的技巧是将布尔值存储为Oracle CHAR,而不是NUMBER:
只是因为还没有人提到它:使用RAW(1)似乎也是常见的实践。
不,不存在类型布尔,但你可以你1/0(类型数字),或'Y'/'N'(类型char),或'true'/'false'(类型varchar2)。
根据Ammoq和kupa的回答,我们使用默认为0的数字(1),不允许为空。
下面是一个add列来演示:
ALTER TABLE YourSchema.YourTable ADD (ColumnName NUMBER(1) DEFAULT 0 NOT NULL);
希望这能帮助到一些人。
推荐文章
- 为什么历史上人们使用255而不是256作为数据库字段大小?
- 如何选择记录从过去24小时使用SQL?
- 如何为查询返回的每一行执行存储过程一次?
- 按IN值列表排序
- 如何使用SQL Server 2008做多个CASE WHEN条件?
- 计数在VARCHAR字段中字符串的出现次数?
- 如何在Oracle SQL开发人员中设置自定义日期时间格式?
- 非加密用途的最快哈希?
- 如何选择多行填充常量?
- 修改一个MySQL列为AUTO_INCREMENT
- 如果没有使用EXISTS引入子查询,则只能在选择列表中指定一个表达式
- SQL Server -事务回滚错误?
- 如何在SQL中有效地计数列值的发生?
- 查询以列出数据库中每个表中的记录数量
- PostgreSQL列名区分大小写吗?