我找到了一个使用PATINDEX查找下划线位置的解决方案:
DECLARE @a VARCHAR(10)
SET @a = '37_21'
PRINT PATINDEX('%_%', @a) -- return 1 (false)
PRINT PATINDEX('%!%', REPLACE(@a, '_', '!')) -- return 3 (correct)
你还有其他想法吗?例如转义下划线字符的方式?
发布于 2009-05-14 14:14:37
我总是用括号表示:'%[_]%'
发布于 2012-12-18 23:14:12
要匹配两个下划线,每个下划线都必须用括号括起来
'%[__]%' -- matches single _ with anything after
'%[_][_]%' -- matches two consecutive _
发布于 2012-04-12 03:11:52
可以使用[
和]
字符进行转义,如下所示:
PRINT PATINDEX('%[_]%', '37_21')
https://stackoverflow.com/questions/863534
复制相似问题