Ответ 1
Я всегда делал это с помощью скобок: '%[_]%'
Я нашел решение для поиска позиции подчеркивания с PATINDEX:
DECLARE @a VARCHAR(10)
SET @a = '37_21'
PRINT PATINDEX('%_%', @a) -- return 1 (false)
PRINT PATINDEX('%!%', REPLACE(@a, '_', '!')) -- return 3 (correct)
Есть ли у вас другие идеи? Как способ избежать символа подчеркивания?
Я всегда делал это с помощью скобок: '%[_]%'
Чтобы совместить два символа подчеркивания, каждый из них будет заключен в скобки
'%[__]%' -- matches single _ with anything after
'%[_][_]%' -- matches two consecutive _
Вы можете избежать использования символов [
и ]
:
PRINT PATINDEX('%[_]%', '37_21')