Oracle Database Boolean サポート: 待望の機能
ブール値専用の BIT データ型を提供する Microsoft SQL Server のようなデータベースとは異なり、Oracle データベースには歴史的にネイティブのブール型がありません。 Oracle 23c が登場する前は、開発者は、CHAR(1)
を 'Y'/'N' で使用したり、NUMBER(1)
を 0/1 で使用したりするなど、理想的とは言えない回避策に依存していました。 これにより、言語依存性に関連する不整合や潜在的な問題が発生しました。
Oracle 23c: ブール データ型の導入
Oracle 23c (2023 年リリース) では、専用の BOOLEAN
データ型を導入することで、最終的にこの欠陥に対処しました。これにより、true/false 値を保存および操作するための一貫した効率的な方法が提供されます。 仕組みは次のとおりです:
<code class="language-sql">SELECT TRUE; -- Output: TRUE CREATE TABLE test1 (a BOOLEAN); -- Table created INSERT INTO test1 VALUES (TRUE), (FALSE), (TO_BOOLEAN(0)), (TO_BOOLEAN('y')); -- 4 rows inserted</code>
注目すべき例外
この大幅な改善にも関わらず、注目すべき違いが 1 つ残っています。それは、他の多くのデータベース システムとは異なり、Oracle は空の文字列を FALSE
として解釈しません。 これは、Oracle 23c でブール データを操作するときに留意すべき相違点です。
以上がOracle 23c は最終的にブール データ型の欠如にどのように対処するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。