我再次面临一个严重的问题,即 Oracle 根本没有布尔列类型。我需要使用char(1), 或smallint, 或其他一些。
最佳实践是什么,如何在 Oracle 中模拟布尔值?
(空间消耗现在不重要 - 但与 java/hibernate 线的良好合作很重要)。
a_h*_*ame 10
我通常使用number(1)结合检查约束的类型:
some_flag number(1) not null check (some_flag in (1,0))
Run Code Online (Sandbox Code Playgroud)
为了使事情变得清晰,我还在该表中添加了一条评论:
comment on column some_table.some_flag is '0 is false, 1 is true';
Run Code Online (Sandbox Code Playgroud)
以便在查看表的定义时可以看到对“真”的含义的解释。
由于本地化问题,我会避免使用字符表示。但如果这样做,请确保创建适当的检查约束。因为不清楚 achar(1)是否会使用T, Y, y, t(甚至W或J我在德语中看到的)。
| 归档时间: |
|
| 查看次数: |
25377 次 |
| 最近记录: |