Saya ingin melakukan pencarian case sensitif dalam permintaan SQL saya. Tetapi secara default, SQL Server tidak mempertimbangkan kasus string.
Adakah ide tentang bagaimana melakukan pencarian case-sensitive dalam SQL query?
sql
sql-server
Veera
sumber
sumber
/schwarz-weiß
versus:/schwarz-weiss
Dengan menggunakan collation atau casting ke biner, seperti ini:
Duplikasi nama pengguna / kata sandi ada untuk memberi mesin kemungkinan menggunakan indeks. Susunan di atas adalah susunan Huruf Sensitif, ubah ke yang Anda butuhkan jika perlu.
Yang kedua, casting ke biner, bisa dilakukan seperti ini:
sumber
like "*word or phrase*"
pencarian SQL biasa akan dimasukkan.Anda dapat membuat kueri menggunakan convert ke varbinary - sangat mudah. Contoh:
sumber
GUNAKAN BINARY_CHECKSUM
sumber
gunakan HASHBYTES
... di mana klausa
atau untuk menemukan nilai
sumber
gunakan Latin1_General_CS sebagai collation Anda di sql db
sumber
Di MySQL jika Anda tidak ingin mengubah collation dan ingin melakukan pencarian case sensitif maka gunakan saja kata kunci biner seperti ini:
sumber
sumber
Seperti yang dikatakan orang lain, Anda dapat melakukan pencarian case sensitif. Atau cukup ubah format pemeriksaan kolom yang ditentukan seperti saya. Untuk kolom Pengguna / Kata Sandi di basis data saya, saya mengubahnya ke susunan melalui perintah berikut:
sumber