高效率搜尋逗號分隔的 SQL Server 欄位中的值
本指南示範如何在 SQL Server 2008 中有效地定位以逗號分隔的欄位中存在特定值的行。 例如,給定包含「貓、狗、麻雀、鱒魚、牛、海馬」的列,您需要確定「貓」是否存在。
IN
關鍵字在這裡不合適,因為它只匹配精確值。 單獨使用 CONTAINS()
或 LIKE
的方法可能會因部分匹配或額外逗號而導致結果不準確。
解:
最可靠的方法使用字串運算和 LIKE
運算子:
WHERE (',' RTRIM(MyColumn) ',') LIKE '%,' @search ',%'
說明:
',' RTRIM(MyColumn) ','
)。 RTRIM()
從列值中刪除所有尾隨空格,防止漏報。 LIKE
) 的%
運算子可確保搜尋字詞完全匹配,正確處理清單開頭、中間或結尾的值,並忽略前導或尾隨逗號。 此方法保證準確識別逗號分隔清單中的搜尋值,無論其位置或是否存在額外逗號。
以上是如何在 SQL Server 中高效率搜尋逗號分隔列中的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!