寻找第一个下划线然后找到第五个空格

时间:2016-12-21 16:45:13

标签: tsql substring wildcard charindex

我正在尝试创建一个过滤器,我正在寻找下划线的第一个(或最后一个)出现(或者它可以是任何字符),然后从那里开始寻找第5个字符。

我正在思考一些事情,无论是右边还是左边的char指数选择一边开始。真的试图找到一个很好的解释,为什么你的答案是以这种方式写的。

示例:我正在寻找__poptarts _________。

所以我希望它从最左边开始_并在那之后搜索第五个字符(p)。

1 个答案:

答案 0 :(得分:1)

您可以同时使用SUBSTRINGCHARINDEX

来实现这一目标

SELECT SUBSTRING (string,(CHARINDEX('_',string,0)+1),5)

在你的情况下:

 SELECT SUBSTRING ('I am looking for __poptarts_________',(CHARINDEX('_','I am looking for __poptarts_________',0)+1),5)

结果是_popt,因为你放了两个' _'在' p'

之前