Oracle kini merupakan salah satu sistem pengurusan pangkalan data peringkat perusahaan yang paling popular dan digunakan secara meluas dalam pelbagai platform aplikasi peringkat perusahaan. Dalam Oracle, tanda petikan melarikan diri adalah masalah biasa kerana tanda petikan ialah simbol penandaan yang mewakili nilai rentetan dalam pernyataan SQL. Jika nilai rentetan itu sendiri mengandungi petikan, nilai tersebut perlu dilepaskan untuk mengelakkan ralat sintaks. Artikel ini akan memperkenalkan secara terperinci masalah melarikan diri tanda petikan dalam Oracle.
Dalam Oracle, dua jenis petikan digunakan untuk mewakili nilai rentetan: petikan tunggal dan petikan berganda. Antaranya, petikan tunggal biasanya digunakan untuk mewakili rentetan teks, contohnya:
SELECT * FROM Employees WHERE FirstName = 'John';
Dalam kod di atas, 'John' mewakili rentetan teks yang digunakan untuk memadankan baris dengan nilai John dalam lajur FirstName.
Walau bagaimanapun, jika rentetan teks itu sendiri mengandungi petikan tunggal, ralat sintaks akan berlaku, contohnya:
SELECT * FROM Employees WHERE FirstName = 'John's';
Dalam kes ini, petikan tidak dikenali, menyebabkan ralat sintaks. Untuk menyelesaikan masalah ini, anda boleh menggunakan petikan tunggal untuk melarikan diri, contohnya:
SELECT * FROM Employees WHERE FirstName = 'John''s';
Dalam kod di atas, dua petikan tunggal muncul secara berterusan, menunjukkan satu aksara petikan.
Selain petikan tunggal, Oracle juga menyokong penggunaan petikan berganda untuk mewakili pengecam (seperti nama jadual, nama lajur, dll.) . Melarikan petikan berganda berguna dalam sesetengah kes, terutamanya apabila pengecam mengandungi aksara luar biasa. Contohnya:
SELECT "First Name", "Last Name" FROM Employees;
Dalam kod di atas, "Nama Pertama" dan "Nama Keluarga" ialah pengecam yang disertakan dalam petikan berganda. Dalam kes ini, petikan berganda mengekalkan ruang dan aksara khas lain dalam pengecam.
Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa menggunakan petikan berganda akan menyebabkan kepekaan huruf besar Oracle, kerana Oracle menukar pengecam kepada aksara huruf besar secara lalai. Oleh itu, jika pengecam yang disertakan dalam petikan berganda mengandungi aksara huruf kecil, ia perlu dilepaskan menggunakan petikan berganda. Contohnya:
SELECT "First Name", "Last Name" FROM Employees;
Dalam kod di atas, "Nama Pertama" dan "Nama Akhir" ialah pengecam yang disertakan dalam petikan berganda, jadi Oracle menganggapnya berbeza daripada huruf biasa dan tidak menukarnya sebagai aksara besar.
Kadangkala, anda perlu menggunakan petikan tunggal dan berganda dalam Oracle, contohnya:
SELECT * FROM Employees WHERE "First Name" = 'John';
Dalam kod di atas," Nama Pertama" ialah pengecam yang disertakan dalam petikan berganda, manakala 'John' ialah rentetan teks yang disertakan dalam petikan tunggal.
Walau bagaimanapun, Oracle tidak menyokong pencampuran petikan tunggal dan berganda secara lalai. Jika anda ingin menggunakan mod ANSI_QUOTES dalam Oracle untuk menyokong situasi ini, anda perlu menggunakan arahan berikut:
SET SQL92_RESERVED_WORDS = 'NONE';
Selepas menggunakan arahan di atas, Oracle boleh menyokong penggunaan campuran petikan tunggal dan petikan berganda.
Dalam Oracle, pelarian tanda petikan adalah masalah yang sangat biasa. Jika anda ingin menggunakan petikan tunggal untuk mewakili rentetan teks, anda perlu ambil perhatian bahawa rentetan teks mungkin mengandungi petikan tunggal dan anda boleh menggunakan dua petikan tunggal berturut-turut untuk melarikan diri. Jika anda ingin menggunakan petikan berganda untuk mewakili pengecam, anda perlu ambil perhatian bahawa Oracle menukar pengecam kepada aksara besar secara lalai, dan anda boleh menggunakan petikan berganda untuk melarikan diri. Jika anda perlu menggunakan petikan tunggal dan berganda, anda boleh menggunakan mod ANSI_QUOTES. Di atas adalah mata pengetahuan asas tentang tanda petikan melarikan diri dalam Oracle saya harap ia akan membantu pembaca.
Atas ialah kandungan terperinci petikan oracle melarikan diri. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!