Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Melakukan Perbandingan Rentetan Sensitif Huruf dalam SQL?

Bagaimanakah Saya Boleh Melakukan Perbandingan Rentetan Sensitif Huruf dalam SQL?

DDD
DDDasal
2025-01-11 14:07:43631semak imbas

How Can I Perform Case-Sensitive String Comparisons in SQL?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn