Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melaksanakan Carian Sensitif Huruf dalam SQL Server WHERE Klausa?
Mencapai Carian Sensitif Huruf dalam SQL Server WHERE Klausa
Gelagat lalai SQL Server untuk perbandingan rentetan dalam klausa WHERE tidak peka huruf besar-kecil. Ini memberikan cabaran apabila carian yang tepat dan sensitif huruf besar diperlukan.
Memanfaatkan Pengumpulan untuk Perbandingan Sensitif Huruf
Penyelesaian terletak pada penggunaan COLLATE
kata kunci. Kata kunci ini membolehkan anda menentukan pengumpulan untuk lajur yang terlibat dalam perbandingan, dengan itu mentakrifkan peraturan untuk pemadanan rentetan, termasuk kepekaan huruf besar kecil.
Contohnya:
<code class="language-sql">SELECT 1 FROM dbo.Customers WHERE CustID COLLATE SQL_Latin1_General_CP1_CS_AS = @CustID AND OrderID COLLATE SQL_Latin1_General_CP1_CS_AS = @OrderID</code>
Di sini, COLLATE SQL_Latin1_General_CP1_CS_AS
menguatkuasakan perbandingan sensitif huruf besar-besaran pada kedua-dua lajur CustID
dan OrderID
.
Mengubah suai Sifat Lajur untuk Kepekaan Kes Kekal
Untuk tingkah laku sensitif huruf besar yang konsisten, anda boleh melaraskan sifat lajur terus dalam definisi jadual. Secara lalai, lajur dibuat dengan sifat tidak peka huruf besar-kecil.
Mengintegrasikan COLLATE dengan Operator LIKE
Kata kunci COLLATE
disepadukan dengan lancar dengan operator LIKE
untuk padanan corak sensitif huruf besar-besaran:
<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>
Pertanyaan ini melakukan carian sensitif huruf besar-kecil untuk nilai PartnerName
bermula dengan 'MyEx'.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Carian Sensitif Huruf dalam SQL Server WHERE Klausa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!