昨天我想给一个Oracle表添加一个布尔字段。但是,Oracle中实际上没有布尔数据类型。这里有人知道模拟布尔值的最好方法吗?搜索主题发现了几种方法
>使用整数,只是不打扰分配除0或1之外的任何东西。 >使用带有“Y”或“N”的char字段作为唯一的两个值。 >使用CHECK约束的枚举。
经验丰富的Oracle开发人员知道哪种方法是首选/规范的?
我发现
this链接有用。
这里是突出每种方法的一些优点/缺点的段落。
The most commonly seen design is to imitate the many Boolean-like flags that Oracle’s data dictionary views use,selecting ‘Y’ for true and ‘N’ for false. However,to interact correctly with host environments,such as JDBC,OCCI,and other programming environments, it’s better to select 0 for false and 1 for true so it can work correctly with the getBoolean and setBoolean functions.
基本上他们主张方法2,为了效率,使用
>值为0/1(因为与JDBC的getBoolean()等具有互操作性)与检查约束 > CHAR类型(因为它使用比NUMBER少的空间)。
他们的例子:
06000
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|