Dalam Pelayan SQL, perbandingan rentetan biasanya sensitif huruf besar-besaran. Walau bagaimanapun, jika anda perlu melakukan perbandingan tidak peka huruf besar-kecil dalam klausa WHERE, anda boleh menggunakan operator COLLATE.
Contoh:
Andaikan anda mempunyai data berikut dalam jadual yang dipanggil myTable:
| myField | |---------| | sOmeVal | | AnOtHeRVaL |
Pertanyaan berikut memilih semua baris di mana lajur myField berada sama dengan sOmeVal dalam cara tidak peka huruf besar-kecil:
SELECT * FROM myTable WHERE myField COLLATE SQL_Latin1_General_CP1_CI_AS = 'sOmeVal';
Pengendali COLLATE mengambil dua hujah:
Pengumpulan menentukan peraturan untuk membandingkan rentetan. Dalam contoh ini, kami menggunakan pengumpulan SQL_Latin1_General_CP1_CI_AS, yang melakukan perbandingan tidak peka huruf besar-besaran.
Perhatikan bahawa pengumpulan lalai untuk pangkalan data anda mungkin berbeza. Anda boleh menyemak pengumpulan lalai menggunakan pertanyaan berikut:
SELECT COLLATION_NAME FROM sys.databases WHERE name = 'myDatabase';
Jika pengumpulan lalai tidak peka huruf besar-besaran, anda perlu menentukan pengumpulan secara eksplisit dalam pertanyaan anda.
Atas ialah kandungan terperinci Bagaimana untuk Melakukan Perbandingan Rentetan Kes-Insensitif dalam Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!