Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencari Nilai dengan Cekap dalam Lajur Dibatasi Koma dalam SQL Server?
Mencari Nilai dengan Cekap dalam Lajur Pelayan SQL Dipisahkan Koma
Panduan ini menunjukkan cara mengesan baris dalam SQL Server 2008 dengan berkesan di mana nilai tertentu wujud dalam lajur yang dipisahkan koma. Contohnya, diberikan lajur yang mengandungi "Kucing, Anjing, Sparrow, Trout, Lembu, Kuda Laut", anda perlu menentukan sama ada "Kucing" ada.
Kata kunci IN
tidak sesuai di sini, kerana ia hanya sepadan dengan nilai yang tepat. Kaedah menggunakan CONTAINS()
atau LIKE
sahaja berisiko hasil yang tidak tepat disebabkan padanan separa atau koma tambahan.
Penyelesaian:
Pendekatan yang paling boleh dipercayai menggunakan manipulasi rentetan dan pengendali LIKE
:
WHERE (',' RTRIM(MyColumn) ',') LIKE '%,' @search ',%'
Penjelasan:
',' RTRIM(MyColumn) ','
).RTRIM()
mengalih keluar sebarang ruang mengekor daripada nilai lajur, menghalang negatif palsu.LIKE
dengan kad bebas (%
) memastikan padanan lengkap istilah carian, mengendalikan nilai dengan betul pada permulaan, tengah atau akhir senarai dan mengabaikan koma di hadapan atau di belakang.Kaedah ini menjamin pengenalpastian tepat nilai carian dalam senarai yang dipisahkan koma, tanpa mengira kedudukannya atau kehadiran koma tambahan.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Nilai dengan Cekap dalam Lajur Dibatasi Koma dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!