2012-11-26 3 views
1

그럼sys.dm_fts_parser를 사용하여 쉼표 (또는 구분 기호) 구분 문자열을 분할하는 방법은 무엇입니까?

Name splitdata 
Name1 1111111111 
Name1 22222222222 
Name1 3333333333 
Name1 4444444444 
Name2 5555555555 
Name2 6666666666 

many ways가있다

Name MobileNumber 
Name1 1111111111,22222222222,3333333333,4444444444 
Name2 5555555555,6666666666 

폼의 출력을 얻고 자하는 소정의 입력을 수행하는 예를 들어

Declare @t Table (Name Varchar(10),MobileNumber Varchar(50)) 
Insert Into @t Values 
('Name1','1111111111,22222222222,3333333333,4444444444'), 
('Name2','5555555555,6666666666') 

select F1.Name, 
O.splitdata 
from 
(
select *, 
cast('<X>'+replace(F.MobileNumber,',','</X><X>')+'</X>' as XML) as xmlfilter 
from @t F 
)F1 
cross apply 
( 
select fdata.D.value('.','varchar(50)') as splitdata 
from f1.xmlfilter.nodes('X') as fdata(D)) O 

하지만, 난 그냥 sys.dm_fts_parser을 가로 질러 와서 그것을 사용하여 동일한을 달성 생각했지만 실패했습니다. 내 시도

SELECT Name,display_term 
FROM @t 
CROSS APPLY sys.dm_fts_parser('"' + MobileNumber + '"', 1033, 0,0) 

아무도 도와 주시겠습니까?

답변

2

해결.

where display_term NOT LIKE 'nn%' 

전체 쿼리

SELECT Name,display_term 
FROM @t 
CROSS APPLY sys.dm_fts_parser('"' + MobileNumber + '"', 1033, 0,0) 
where display_term NOT LIKE 'nn%' 
관련 문제