Oracle 数据库终于拥抱布尔数据类型
Oracle 数据库历来缺乏专用的布尔数据类型,这与 Microsoft SQL Server 中的 BIT 数据类型不同。这种缺席给开发人员带来了重大挑战。 不过,Oracle 23c(2023 年发布)已经解决了这个长期存在的问题。
Oracle 中布尔支持的路径
在 Oracle 23c 之前,数据库系统缺乏 SQL 中的原生布尔支持。开发人员经常使用 CHAR(1)
与“Y”/“N”值或 NUMBER(1)
与 0/1 值等变通方法来模拟布尔行为。
Oracle 23c:重大飞跃
Oracle 23c 引入了对跨 SQL 和 PL/SQL 的布尔数据类型的全面支持。开发人员现在可以定义布尔列、插入布尔值(TRUE
、FALSE
)以及在查询中使用布尔表达式。
<code class="language-sql">SQL> select true; TRUE ----------- TRUE SQL> create table test1(a boolean); Table created. SQL> insert into test1 values (true),(false),(to_boolean(0)),(to_boolean('y')); 4 rows created.</code>
剩余挑战:空字符串异常
尽管有了如此显着的改进,但限制仍然存在。 Oracle SQL 将空字符串解释为 FALSE
,这与将其视为 NULL
的标准做法不同。开发人员在编写代码时必须考虑到这种行为。
以上是Oracle 23c 如何解决布尔数据类型长期缺失的问题以及仍然存在哪些限制?的详细内容。更多信息请关注PHP中文网其他相关文章!