Heim >Datenbank >MySQL-Tutorial >Wie kann man in SQL Server effizient nach Werten in durch Kommas getrennten Spalten suchen?
Effiziente Suche nach Werten in durch Kommas getrennten SQL Server-Spalten
Diese Anleitung zeigt, wie Sie Zeilen in SQL Server 2008 effektiv finden, in denen ein bestimmter Wert in einer durch Kommas getrennten Spalte vorhanden ist. Wenn beispielsweise eine Spalte mit „Katze, Hund, Spatz, Forelle, Kuh, Seepferdchen“ vorliegt, müssen Sie feststellen, ob „Katze“ vorhanden ist.
Das Schlüsselwort IN
ist hier ungeeignet, da es nur mit exakten Werten übereinstimmt. Methoden, die CONTAINS()
oder LIKE
allein verwenden, riskieren ungenaue Ergebnisse aufgrund teilweiser Übereinstimmungen oder zusätzlicher Kommas.
Die Lösung:
Der zuverlässigste Ansatz verwendet String-Manipulation und den LIKE
-Operator:
WHERE (',' RTRIM(MyColumn) ',') LIKE '%,' @search ',%'
Erklärung:
',' RTRIM(MyColumn) ','
).RTRIM()
entfernt alle nachgestellten Leerzeichen aus dem Spaltenwert und verhindert so falsch-negative Ergebnisse.LIKE
-Operator mit Platzhaltern (%
) stellt eine vollständige Übereinstimmung des Suchbegriffs sicher, wobei Werte am Anfang, in der Mitte oder am Ende der Liste korrekt behandelt und ignoriert werden führende oder nachgestellte Kommas.Diese Methode garantiert eine genaue Identifizierung des Suchwerts innerhalb der durch Kommas getrennten Liste, unabhängig von seiner Position oder dem Vorhandensein zusätzlicher Kommas.
Das obige ist der detaillierte Inhalt vonWie kann man in SQL Server effizient nach Werten in durch Kommas getrennten Spalten suchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!