34,590
社区成员
发帖
与我相关
我的任务
分享
CREATE FUNCTION [dbo].[SplitStr]
(
@string nvarchar(max),
@symbol nvarchar(10)
)
RETURNS @table TABLE(id int identity,value nvarchar(max))
AS
begin
DECLARE @splitlen int
SET @splitlen=LEN(@symbol)-1
WHILE CHARINDEX(@symbol,@string)>0
BEGIN
INSERT @table(value) VALUES(LEFT(@string,CHARINDEX(@symbol,@string)-1))
SET @string=STUFF(@string,1,CHARINDEX(@symbol,@string)+@splitlen,'')
END
INSERT @table(value) VALUES(@string)
return
end
SELECT
id, brxm, rq,
by2 = SUBSTRING( t1.by2, t2.number, CHARINDEX(',', t1.by2 + ',', t2.number) -t2.number )
FROM tworows t1, master..spt_values t2
WHERE t2.type = 'P' AND CHARINDEX(',', ',' + t1.by2, t2.number) = t2.number
GROUP BY t1.id, t1.brxm, t1.rq,
SUBSTRING( t1.by2, t2.number, CHARINDEX(',', t1.by2 + ',', t2.number) -t2.number )