Oracle 缺少表列的 Bit 数据类型

标签 oracle boolean

Oracle 不支持 bit数据类型或任何其他类型的真/假场景。是否使用 char(1)字段而不是通过使用特定字母来表示是/真而不管文化特定问题?

而不是 char应该是Number(1,0)为此 - 0 被认为是假的/否,还有什么被解释为真/是的?

这是可行的吗?

为什么 Oracle 不支持简单的 boolean 类型?

最佳答案

我更喜欢 char(1) 而不是 number(1),因为通过一些合理的字符选择,很明显哪个字符具有哪个 boolean 含义。

当然,您应该与所有不同的变体作斗争,选择一个并通过在列上放置检查约束来确保它的使用。

尽管在您的情况下可能为时已晚,但从另一个工具生成架构通常至少会注意一致性问题。为此,我个人更喜欢休眠,但这取决于具体情况。

当然,这是一个明显的遗漏。更糟糕的是,PL/SQL 有一个 boolean 值,但你不能在 SQL 语句中使用它。

关于Oracle 缺少表列的 Bit 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2426145/

相关文章:

sql - 是否可以在 Oracle SQL 中将 CASE 与 ANY() 一起使用?

java - 线程转储 Java SE 计划应用程序卡住问题

javascript 评估赋值 if(x=myfunc())

python - 令人难以置信的 Python boolean 特性

ruby-on-rails - 尝试从 OS X 上的 Rails 连接到 Oracle 时出错

sql - 如何让变量在 Oracle SQL Developer 中真正起作用?

php - Oracle OCI8 扩展未在 php 7.4 中加载

java - 使用来自外部类的信息 : Prisoner's Dilemma

字典的 python boolean 键

c# - "bool"和 "bool?"有什么区别?