oracle数据布尔,Oracle中的布尔字段

本文探讨了在Oracle数据库中实现布尔字段的不同方法,包括使用0/1、'Y'/ 'N'以及它们的优缺点。建议使用0和1作为数字,配合检查约束,以确保语言独立性和更好的查询效率。同时,提供了在Oracle中添加布尔列的SQL语句示例。
摘要由CSDN通过智能技术生成

我发现这个链接有用。

这里是强调每种方法的一些优点/缺点的段落。

最常见的devise是模仿Oracle数据字典视图使用的许多类似布尔的标志,select“Y”为true,“N”为false。 但是,要正确地与主机环境(如JDBC,OCCI和其他编程环境)进行交互,最好select0代表false,1代表true,这样可以正确使用getBoolean和setBoolean函数。

基本上他们主张方法2,为了效率的缘故,使用

值为 0/1(因为与JDBC的getBoolean()等)具有检查约束

一种CHAR(因为它使用的空间less于NUMBER)。

他们的例子:

create table tbool (bool char check (bool in (0,1)); insert into tbool values(0); insert into tbool values(1);`

Oracle本身使用Y / N作为布尔值。 为了完整性,应该注意的是,pl / sql有一个布尔types,只有表没有。

如果您正在使用该字段来指示是否需要处理logging,则可以考虑使用Y和NULL作为值。 这使得占用很小空间的非常小的(快速读取)索引。

要使用最less量的空间,您应该使用一个约束为“Y”或“N”的CHAR字段。 Oracle不支持BOOLEAN,BIT或TINYINT数据types,所以CHAR的一个字节尽可能小。

最好的select是0和1(作为数字 – 另一个答案build议0和1作为空间效率的CHAR ,但这有点扭曲对我来说),使用NOT NULL和检查约束限制内容到这些值。 (如果你需要列可以为空,那么它不是一

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值