2013-10-09 3 views
0

그래서 두 개의 열이 있습니다. 하나는 접두사 (nvarchar)를 포함하고 다음은 nvarchar를 포함하고 다음 접두사를 제거하고자합니다. 우리는 'words'열의 이름을 지정합니다. 일반적으로 right(words, len(words) - len(prefix)가는 것은 나에게 그 대답을 줄 것이다. 그러나 단어의 시작 부분에 두 개의 공백이 있고 접두어가 하나의 공백이라고 가정 해 봅시다. 그래서 나는 단어의 시작 부분에서 단지 하나의 공간을 제거하려고 노력하고있다. len (접두사)는 0을 반환합니다. datalength (prefix)는 1을 반환하지만 일부 문자는 2 바이트를 사용하기 때문에 데이터 길이가 응답이 될 것이라고는 생각하지 않습니다.TSQL에서 문자열 접두사 제거

당신이 하나의 "청소기"찾을 수 있음 :

RIGHT(words, LEN(words) - (LEN(prefix+'?')-1)) 

편집 :

답변

3

이 시도

RIGHT(words, LEN(words) - DATALENGTH(CONVERT(VARCHAR(100),prefix))) 
+0

난 사실이 매우 비슷한 시도를하고 일했다 . 감사. – dko

+0

깨끗하고 읽기 쉬운 솔루션을 원했습니다. – dko