我找到了一种使用PATINDEX查找下划线位置的解决方案:

DECLARE @a VARCHAR(10)
SET     @a = '37_21'

PRINT PATINDEX('%_%', @a)                    -- return 1 (false)
PRINT PATINDEX('%!%', REPLACE(@a, '_', '!')) -- return 3 (correct)

还有其他想法吗?喜欢逃脱下划线字符的方法吗?

最佳答案

我总是用方括号括起来:'%[_]%'

09-13 01:33