2016-12-21 4 views
0

뒤에 다섯 번째 공백을 찾습니다. 밑줄의 첫 번째 (또는 마지막) 발생을 찾는 필터를 만들려고합니다 (또는 어떤 문자도 될 수 있음). 다섯 번째 문자를 찾습니다.첫 번째 밑줄을 찾고

오른쪽 또는 왼쪽 문자 인덱스 중 하나를 따라 뭔가를 생각하고 있습니다. 정말 당신의 대답이 그런 식으로 쓰여진 이유에 대한 좋은 설명을 찾으려고 노력합니다.

예 : __poptarts_________을 (를) 찾고 있습니다.

그래서 가장 왼쪽에서 시작하고 _ (p) 다음에 5 번째 문자를 검색하고 싶습니다.

답변

1

당신은 될 것이라고 모두 SUBSTRINGCHARINDEX 귀하의 경우에는

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

를 사용하여 그것을 달성 할 수 : 당신이 P '전에 두 개의'_ '를 넣어 때문에

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

결과가 _popt입니다 '

+0

고맙습니다. 정확히 똑같은 일을하려하지만, 이제 where 절에서 이러한 결과를 걸러 내고 싶습니다. 어떤 접근 방식을 취할 것입니다. –

+0

문제가 아니라 '필터 아웃'이란 무엇입니까? '_popt'가 포함 된 결과를 얻고 싶지 않다는 뜻입니까? – LONG

+0

실제로 답을 다시 살펴보면서 질문을 잘못했을 수도 있지만 _popt를 반환하는 결과 대신 한 문자 만 반환하도록하고 't'(첫 번째 _에서 다섯 번째)라고 말하십시오. 그렇다면 나는 단지 [AZ] –