Menyiasat Pelayan SQL dengan Klausa "Where" yang Tidak Peka Huruf
Dalam Pelayan SQL, perbandingan rentetan dalam klausa "di mana" sememangnya adalah huruf kecil- sensitif. Ini bermakna pertanyaan seperti:
SELECT * FROM myTable WHERE myField = 'sOmeVal'
hanya akan mengembalikan baris yang kes tepat 'sOmeVal' sepadan dengan nilai dalam lajur 'myField'.
Untuk mengatasi kelakuan lalai ini dan laksanakan perbandingan tidak sensitif huruf, anda boleh menentukan himpunan dalam klausa "di mana". Pengumpulan mentakrifkan peraturan untuk membandingkan rentetan, termasuk sensitiviti huruf besar. Untuk mengabaikan kes semasa perbandingan, gunakan pengumpulan yang menentukan ketidakpekaan huruf besar-besaran, seperti 'SQL_Latin1_General_CP1_CI_AS':
SELECT * FROM myTable WHERE myField = 'sOmeVal' COLLATE SQL_Latin1_General_CP1_CI_AS
Pertanyaan ini akan mengembalikan semua baris yang nilai dalam lajur 'myField' sepadan dengan 'sOmeVal', tanpa mengira selongsong.
Perhatikan bahawa pengumpulan khusus yang anda gunakan mungkin berbeza-beza bergantung pada konfigurasi pangkalan data anda. Rujuk dokumentasi Microsoft untuk mendapatkan senarai lengkap koleksi tersedia yang disokong oleh SQL Server.
Atas ialah kandungan terperinci Bagaimanakah Saya Melakukan Pertanyaan Tidak Peka Huruf dalam Klausa WHERE SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!