Saya memiliki data berikut dalam tabel
PriceOrderShipped
PriceOrderShippedInbound
PriceOrderShippedOutbound
Dalam SQL saya perlu menulis kueri yang mencari string dalam tabel. Saat mencari string, ia harus mengabaikan case. Untuk query SQL yang disebutkan di bawah ini
SELECT DISTINCT COL_NAME FROM myTable WHERE COL_NAME LIKE '%PriceOrder%'
memberikan semua data di atas, sedangkan
SELECT DISTINCT COL_NAME FROM myTable WHERE COL_NAME LIKE '%Priceorder%'
tidak memberi.
Misalnya. ketika saya mencari 'PriceOrder' atau 'priceOrder' berfungsi tetapi 'priceorder' atau 'Priceorder' tidak berfungsi. Saya sudah mencoba dengan query di bawah ini menggunakan COLLATE, tetapi tidak berfungsi. Biarkan saya tahu di mana saya salah.
SELECT DISTINCT COL_NAME FROM myTable WHERE
COL_NAME COLLATE latin1_general_cs LIKE '%Priceorder%'
sql
sql-server
case-insensitive
sql-like
ignore-case
gelombang kejut
sumber
sumber
Jawaban:
Gunakan sesuatu seperti ini -
atau
sumber
UPPER
atauLOWER
case lalu menggunakanLIKE
to search?Lihat pertanyaan dan jawaban serupa ini untuk pencarian dengan case-insensitivity - SQL server Abaikan dalam ekspresi mana
Coba gunakan sesuatu seperti:
sumber
Seperti ini.
Dalam postgresql.
sumber
Anda mungkin harus menggunakan
SQL_Latin1_General_Cp1_CI_AS_KI_WI
sebagai koleksi Anda. Yang Anda tentukan dalam pertanyaan Anda sangat peka huruf besar-kecil.Anda dapat melihat daftar koleksi di sini .
sumber