Operator LIKE Pelayan SQL: Kepekaan Kes Dijelaskan
PengendaliSQL Server LIKE
menyediakan padanan rentetan yang mantap. Walau bagaimanapun, sensitiviti kesnya tidak wujud kepada pengendali itu sendiri. Sebaliknya, ia ditentukan oleh pengumpulan lajur.
Pengumpulan: Kunci Sensitiviti Kes
Pengumpulan lajur menentukan cara perbandingan watak dikendalikan. SQL Server menyokong pelbagai himpunan, setiap satu menyatakan set aksara, abjad dan yang paling penting, peraturan kepekaan huruf besar-kecil.
Menentukan Pengumpulan
Untuk menyemak pengumpulan pangkalan data:
<code class="language-sql">SELECT DATABASEPROPERTYEX('databasename', 'collation') AS SQLCollation;</code>
Untuk lajur tertentu:
<code class="language-sql">SELECT COLLATION_NAME FROM sys.columns WHERE object_id = OBJECT_ID('TableName') AND name = 'ColumnName';</code>
Kesan Pengumpulan pada Keputusan LIKE
Pengumpulan yang berbeza menghasilkan hasil LIKE
yang berbeza. Contohnya:
sql_latin1_general_cp1_ci_as
: Tidak peka huruf besar dan kecil, sensitif loghat.sql_latin1_general_cp1_cs_as
: Sensitif huruf besar-besaran, sensitif aksen.Mengubah suai Pengumpulan (Gunakan dengan Berhati-hati)
Walaupun biasanya tidak digalakkan, anda boleh mengubah susunan lajur:
<code class="language-sql">ALTER TABLE TableName ALTER COLUMN ColumnName VARCHAR(10) COLLATE new_collation;</code>
Sebagai alternatif, anda boleh membatalkan sensitiviti huruf besar-besaran buat sementara waktu dalam pertanyaan (tidak disyorkan untuk pengeluaran):
<code class="language-sql">SELECT column1 COLLATE sql_latin1_general_cp1_ci_as AS column1 FROM table1;</code>
Ringkasnya
Padanan rentetan yang tepat dengan pengendali LIKE
SQL Server bergantung pada pemahaman impak pengumpulan. Pemilihan pengumpulan yang teliti memastikan pertanyaan berkelakuan seperti yang diharapkan, tanpa mengira keperluan sensitiviti huruf besar.
Atas ialah kandungan terperinci Adakah SQL Server LIKE Operator Sensitif Huruf dan Bagaimana Pengumpulan Mempengaruhinya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!