Mencapai Perbandingan Rentetan Sensitif Huruf dalam SQL
Perbandingan rentetan SQL standard sering mengabaikan perbezaan kes. Pertanyaan seperti SELECT * FROM table WHERE column = 'value'
akan mencari padanan tanpa mengira huruf besar.
Menguatkuasakan Sensitiviti Kes
Untuk melakukan perbandingan sensitif huruf besar-besaran, gunakan klausa COLLATE
. Klausa ini menentukan pengumpulan—set peraturan yang mengawal penyisihan dan perbandingan rentetan. Memilih pengumpulan sensitif huruf besar-besaran memastikan padanan sensitif huruf besar-kecil yang tepat.
Contoh Ilustrasi
Bayangkan jadual dengan atribut rentetan:
<code>| attribute | |---|---| | abc | | ABC | | aBc |</code>
Pertanyaan biasa:
<code class="language-sql">SELECT * FROM table WHERE attribute = 'ABC';</code>
...akan mengembalikan ketiga-tiga baris kerana padanan tidak sensitif huruf besar-besaran.
Untuk menguatkuasakan sensitiviti kes, gunakan COLLATE
:
<code class="language-sql">SELECT * FROM table WHERE attribute = 'ABC' COLLATE Latin1_General_CS_AS;</code>
Latin1_General_CS_AS
ialah himpunan sensitif huruf besar-besaran. Pertanyaan yang disemak ini hanya akan mengembalikan baris yang attribute
tepatnya 'ABC'.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melakukan Perbandingan Rentetan Sensitif Huruf dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!