Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Überprüfen Sie mithilfe einer gespeicherten Prozedur, ob eine Zeichenfolge in SQL Server 2005 eine Teilzeichenfolge enthält

CHARINDEX() sucht nach einem Teilstring innerhalb eines größeren Strings und gibt die Position der Übereinstimmung zurück, oder 0, wenn keine Übereinstimmung gefunden wird

if CHARINDEX('ME',@mainString) > 0
begin
    --do something
end

Bearbeiten oder von Daniels Antwort, wenn Sie ein Wort (und nicht Unterkomponenten von Wörtern) finden möchten, Ihr CHARINDEX Aufruf würde wie folgt aussehen:

CHARINDEX(' ME ',' ' + REPLACE(REPLACE(@mainString,',',' '),'.',' ') + ' ')

(Fügen Sie weitere rekursive REPLACE()-Aufrufe für alle anderen Satzzeichen hinzu, die auftreten können)