Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mencari Nilai Khusus dalam Lajur Pelayan SQL yang Dibatasi Koma?

Bagaimana untuk Mencari Nilai Khusus dalam Lajur Pelayan SQL yang Dibatasi Koma?

Susan Sarandon
Lepaskan: 2025-01-09 17:27:42
asal
517 orang telah melayarinya

How to Reliably Find Specific Values in Comma-Delimited SQL Server Columns?

Mencari Nilai Dipisahkan Koma dengan Cekap dalam Lajur Pelayan SQL

Menggunakan jadual yang mengandungi nilai dipisahkan koma selalunya memberikan cabaran apabila cuba menapis baris berdasarkan kehadiran nilai tertentu dalam lajur tersebut. Artikel ini menggariskan kaedah yang boleh dipercayai untuk mencapai ini dalam SQL Server.

Perangkap Biasa

Pendekatan naif mungkin melibatkan penggunaan IN kata kunci:

<code class="language-sql">SELECT id_column FROM table_name WHERE 'Cat' IN COLUMN</code>
Salin selepas log masuk

Ini, bagaimanapun, tidak berkesan. Operator IN menyemak padanan tepat terhadap nilai individu dalam set, bukan dalam kandungan rentetan lajur.

Begitu juga, menggunakan CONTAINS() atau LIKE boleh membawa kepada hasil yang tidak tepat. CONTAINS() terdedah kepada padanan separa (cth., mencari "kuda" dalam "Kuda Laut"), manakala LIKE memerlukan pengendalian koma di hadapan dan di belakang dengan teliti untuk mengelakkan negatif palsu. Mencari '%needle%' mungkin terlepas entri seperti ',needle,' atau 'needle,'.

Penyelesaian Teguh

Kaedah yang lebih dipercayai melibatkan penambahan koma secara strategik pada kedua-dua hujung rentetan carian dan nilai lajur sebelum perbandingan. Ini memastikan padanan yang tepat, menghalang positif palsu:

<code class="language-sql">WHERE (',' + RTRIM(MyColumn) + ',') LIKE '%,' + @search + ',%'</code>
Salin selepas log masuk

Teknik ini mengasingkan nilai sasaran dengan berkesan, memastikan hanya padanan tepat dikenal pasti, tanpa mengira kedudukan nilai dalam rentetan yang dipisahkan koma. Pendekatan ini menyediakan cara yang jauh lebih tepat dan boleh dipercayai untuk mencari nilai tertentu dalam lajur yang dipisahkan koma dalam SQL Server.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Nilai Khusus dalam Lajur Pelayan SQL yang Dibatasi Koma?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan