Ich habe mit PATINDEX eine Lösung gefunden, um die Position eines Unterstrichs zu ermitteln:
DECLARE @a VARCHAR(10)
SET @a = '37_21'
PRINT PATINDEX('%_%', @a) -- return 1 (false)
PRINT PATINDEX('%!%', REPLACE(@a, '_', '!')) -- return 3 (correct)
Hast du noch andere Ideen? Möchtest du dem Unterstrich entkommen?
Ich habe es immer mit Klammern gemacht: '%[_]%'
Um zwei Unterstriche zuzuordnen, muss jeder in eckige Klammern gesetzt werden
'%[__]%' -- matches single _ with anything after
'%[_][_]%' -- matches two consecutive _
Sie können mit den Zeichen [
Und ]
Wie folgt umgehen:
PRINT PATINDEX('%[_]%', '37_21')