Rumah >pangkalan data >tutorial mysql >Mengapa Rentetan Kosong Dilayan sebagai NULL dalam Lajur VARCHAR Oracle 9i?

Mengapa Rentetan Kosong Dilayan sebagai NULL dalam Lajur VARCHAR Oracle 9i?

Patricia Arquette
Patricia Arquetteasal
2025-01-22 05:07:12444semak imbas

Why Are Empty Strings Treated as NULL in Oracle 9i's VARCHAR Columns?

Oracle 9i: Mengapa Rentetan Kosong Sama NULL dalam Lajur VARCHAR

Perlakuan Oracle 9i terhadap rentetan kosong ('') sebagai nilai NULL dalam lajur VARCHAR ialah artifak sejarah. Versi Oracle awal mereka bentuk lajur VARCHAR dan VARCHAR2 untuk mentafsir rentetan kosong sebagai bersamaan dengan nilai NULL. Ini berpunca daripada idea bahawa nilai yang hilang (rentetan kosong) secara fungsinya serupa dengan nilai yang tidak diketahui (NULL).

Standard SQL kemudiannya mentakrifkan perbezaan yang jelas antara NULL dan rentetan kosong. Ini memberikan Oracle dengan pilihan yang sukar: memecahkan aplikasi sedia ada dengan mengubah tingkah laku lajur VARCHAR, melanggar piawai atau mengekalkan keserasian ke belakang dengan mengorbankan pematuhan standard.

Oracle mengutamakan keserasian ke belakang, memilih untuk mengekalkan tingkah laku sedia ada VARCHAR. Untuk menangani ketidakserasian ini dengan standard SQL, Oracle memperkenalkan VARCHAR2, jenis data yang dijamin untuk mematuhi perbezaan standard antara NULL dan rentetan kosong dalam keluaran kemudian. Oleh itu, pembangun amat dinasihatkan untuk menggunakan VARCHAR2 untuk projek baharu dan memindahkan kod sedia ada untuk mengelakkan isu keserasian pada masa hadapan.

Atas ialah kandungan terperinci Mengapa Rentetan Kosong Dilayan sebagai NULL dalam Lajur VARCHAR Oracle 9i?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn