首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在PATINDEX模式参数中转义下划线字符?

如何在PATINDEX模式参数中转义下划线字符?
EN

Stack Overflow用户
提问于 2009-05-14 14:09:38
回答 3查看 56.2K关注 0票数 73

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

代码语言:javascript
复制
DECLARE @a VARCHAR(10)  
SET     @a = '37_21'

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

你还有其他想法吗?例如转义下划线字符的方式?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-05-14 14:14:37

我总是用括号表示:'%[_]%'

票数 124
EN

Stack Overflow用户

发布于 2012-12-18 23:14:12

要匹配两个下划线,每个下划线都必须用括号括起来

代码语言:javascript
复制
'%[__]%' -- matches single _ with anything after

'%[_][_]%' -- matches two consecutive _
票数 26
EN

Stack Overflow用户

发布于 2012-04-12 03:11:52

可以使用[]字符进行转义,如下所示:

PRINT PATINDEX('%[_]%', '37_21')

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/863534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档