Memahami Sensitiviti Kes Pelayan SQL
Sensitiviti huruf besar SQL Server ditentukan pada tiga peringkat: pelayan, pangkalan data dan lajur. Panduan ini menerangkan cara menyemak sensitiviti kes pada setiap peringkat.
Pengumpulan Peringkat Pelayan
Untuk menyemak pengumpulan lalai pelayan:
<code class="language-sql">SELECT SERVERPROPERTY('COLLATION');</code>
Pengumpulan Peringkat Pangkalan Data
Untuk menentukan pengumpulan pangkalan data tertentu (gantikan 'AdventureWorks' dengan nama pangkalan data anda):
<code class="language-sql">SELECT DATABASEPROPERTYEX('AdventureWorks', 'Collation') AS SQLCollation;</code>
Pengumpulan Peringkat Lajur
Untuk mengenal pasti pengumpulan lajur dalam jadual (gantikan @table_name
dengan nama jadual anda):
<code class="language-sql">SELECT table_name, column_name, collation_name FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = @table_name;</code>
Aplikasi Praktikal
Bayangkan prosedur tersimpan membandingkan parameter @test
dan @TEST
. Hasilnya bergantung pada tetapan sensitiviti kes. Berikut ialah pendekatan yang disyorkan:
SERVERPROPERTY('COLLATION')
untuk menyemak pengumpulan pelayan.LOWER()
untuk menyeragamkan selongsong sebelum perbandingan. Sebagai alternatif, pertimbangkan untuk menggunakan operator perbandingan tidak peka huruf besar-besaran jika pangkalan data anda menyokongnya.Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Sensitiviti Kes Pelayan SQL pada Tahap Pelayan, Pangkalan Data dan Lajur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!