How to escape underscore character in PATINDEX pattern argument?
I've found a solution for finding the position of an underscore with PATINDEX : DECLARE @a VARCHAR(10) SET @a = '37_21' PRINT PATINDEX('%_%', @a) -- return 1 (false) PRINT PATINDEX('%!%', REPLACE(@a, '_', '!')) -- return 3 (correct) Have you other ideas? Like a way to escape the underscore character? Curt Hagenlocher I've always done it with brackets: '%[_]%' To match two underscores, each must be bracketed '%[__]%' -- matches single _ with anything after '%[_][_]%' -- matches two consecutive _ Charlie You can escape using the [ and ] characters like so: PRINT PATINDEX('%[_]%', '37_21') 来源: