寻找第一个下划线然后找到第 5 个 space
Looking for the first underscore then find the 5th space after
我正在尝试创建一个过滤器,在其中查找第一次(或最后一次)出现的下划线(或者它可以是任何字符),然后从那里开始查找第 5 个字符。
我正在考虑从右字符索引或左字符索引中选择一侧开始的内容。真的想找到一个很好的解释,解释为什么你的答案是这样写的。
示例:我正在寻找 __poptarts_________。
所以我希望它从最左边的 _ 开始,然后搜索 (p) 之后的第 5 个字符。
您可以通过同时使用 SUBSTRING
和 CHARINDEX
来实现
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'
之前放了两个 '_'
我正在尝试创建一个过滤器,在其中查找第一次(或最后一次)出现的下划线(或者它可以是任何字符),然后从那里开始查找第 5 个字符。
我正在考虑从右字符索引或左字符索引中选择一侧开始的内容。真的想找到一个很好的解释,解释为什么你的答案是这样写的。
示例:我正在寻找 __poptarts_________。
所以我希望它从最左边的 _ 开始,然后搜索 (p) 之后的第 5 个字符。
您可以通过同时使用 SUBSTRING
和 CHARINDEX
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'