嗯,对于像
这样的给定输入Name MobileNumber
Name1 1111111111,22222222222,3333333333,4444444444
Name2 5555555555,6666666666
获取表格的输出
Name splitdata
Name1 1111111111
Name1 22222222222
Name1 3333333333
Name1 4444444444
Name2 5555555555
Name2 6666666666
有many ways要完成,例如
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)
有人可以帮我这样做吗?
答案 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%'