Mencapai Kepekaan Kes dalam SQL Server WHERE Pencarian Klausa
Pelayan SQL Standard WHERE
carian klausa sememangnya tidak peka huruf besar-besaran; "John" dan "john" dianggap sama. Walau bagaimanapun, situasi memerlukan perbandingan yang sensitif huruf. Berikut ialah beberapa pendekatan untuk menguatkuasakan sensitiviti kes dalam pertanyaan SQL anda:
Memanfaatkan Pengumpulan:
Pengumpulan menentukan peraturan perbandingan aksara. Menentukan pengumpulan sensitif huruf besar-besaran memastikan pangkalan data membezakan antara aksara besar dan huruf kecil. Contoh ilustrasi:
<code class="language-sql">SELECT 1 FROM dbo.Customers WHERE CustID = @CustID COLLATE SQL_Latin1_General_CP1_CS_AS AND OrderID = @OrderID COLLATE SQL_Latin1_General_CP1_CS_AS</code>
Mentakrifkan Lajur Sensitif Huruf:
Sebagai alternatif, ubah suai takrifan lajur untuk menyokong sensitiviti huruf secara semula jadi. Ini melibatkan mengubah tetapan pengumpulan lajur. Contoh:
<code class="language-sql">ALTER TABLE dbo.Customers ALTER COLUMN CustID NVARCHAR(50) COLLATE SQL_Latin1_General_CP1_CS_AS</code>
Memohon Pengumpulan dalam LIKE:
Kata kunci COLLATE
juga berfungsi dengan operator LIKE
untuk padanan corak sensitif huruf besar-besaran. Contoh:
<code class="language-sql">SELECT * FROM tbl_Partners WHERE PartnerName COLLATE SQL_Latin1_General_CP1_CS_AS LIKE 'MyEx%' COLLATE SQL_Latin1_General_CP1_CS_AS</code>
Kaedah ini memberikan fleksibiliti dalam mengendalikan carian sensitif huruf besar-kecil dalam klausa WHERE
SQL Server, menyesuaikan diri dengan pelbagai keperluan pertanyaan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Carian Sensitif Huruf dalam SQL Server WHERE Klausa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!