Operator perbandingan (termasuk <
dan >
) "bekerja" dengan nilai string serta angka.
Untuk MySQL
Secara default, perbandingan string tidak peka huruf besar/kecil dan menggunakan set karakter saat ini. Standarnya adalah
latin1
(cp1252 West European), yang juga berfungsi dengan baik untuk bahasa Inggris.
Perbandingan string akan peka huruf besar/kecil ketika susunan karakter dari string yang dibandingkan peka huruf besar/kecil, yaitu nama kumpulan karakter diakhiri dengan _cs
daripada _ci
. Tidak ada gunanya mengulangi semua informasi yang tersedia di Manual Referensi MySQL di sini.
Referensi Operator Perbandingan MySQL:
http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html
Informasi lebih lanjut tentang kumpulan karakter/kumpulan MySQL:
http://dev.mysql.com/doc/refman/5.5/en/charset.html
Untuk menjawab pertanyaan spesifik yang Anda ajukan:
T: apakah ini cara yang mungkin untuk membandingkan string dalam SQL?
J: Ya, di MySQL dan SQL Server
T: dan bagaimana cara kerjanya?
J: Operator perbandingan mengembalikan boolean, baik TRUE, FALSE atau NULL.
T: string kurang dari yang lain datang sebelumnya dalam urutan kamus? Misalnya, bola lebih kecil dari air?
J: Ya, karena 'b' muncul sebelum 'w' dalam susunan karakter, ekspresi
'ball' < 'water'
akan mengembalikan BENAR. (Ini tergantung pada karakteristik dan pada pengumpulan .
T: dan perbandingan ini peka huruf besar/kecil?
J: Apakah perbandingan tertentu peka huruf besar-kecil atau tidak tergantung pada server database; secara default, baik SQL Server dan MySQL tidak peka huruf besar/kecil.
Di MySQL dimungkinkan untuk membuat perbandingan string dengan menentukan susunan karakter yang peka terhadap huruf besar/kecil (nama set karakter akan diakhiri dengan _cs daripada _ci)
T: Misalnya BALL
J: Secara default, baik di SQL Server dan MySQL, ekspresi
akan mengembalikan TRUE. 'BALL' < 'water'