Oracle Database がついにブール データ型を採用
Oracle データベースには、Microsoft SQL Server の BIT データ型とは異なり、歴史的に専用のブール データ型がありません。この欠如は開発者にとって大きな課題となりました。 ただし、Oracle 23c (2023 年リリース) では、この長年の問題に対処しました。
Oracle でのブール値サポートへの道
Oracle 23c より前のデータベース システムには、SQL のネイティブ ブール値サポートがありませんでした。開発者は、ブール値の動作をシミュレートするために、「Y」/「N」値を指定した CHAR(1)
や 0/1 値を指定した NUMBER(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 中国語 Web サイトの他の関連記事を参照してください。