Sql server 如何通过执行下面的函数获得所需的输出

Sql server 如何通过执行下面的函数获得所需的输出,sql-server,Sql Server,我的问题是我写了一个函数 ALTER FUNCTION [dbo].StringSplitting_23012012 (@string NVARCHAR(MAX), @Delimiter NVARCHAR(1)) RETURNS @Temp TABLE (string NVARCHAR(MAX)) AS BEGIN DECLARE @p int SET @p = 0 --SET @string = (@string + @Delimiter) WHILE charin

我的问题是我写了一个函数

ALTER FUNCTION [dbo].StringSplitting_23012012 (@string NVARCHAR(MAX),
@Delimiter NVARCHAR(1))
RETURNS
 @Temp TABLE (string NVARCHAR(MAX))
AS 
BEGIN
   DECLARE @p int
   SET @p = 0
   --SET @string = (@string + @Delimiter)
   WHILE charindex(@Delimiter,@string) < 0 --,@p) <> 0 
     BEGIN
       INSERT into @Temp
       SELECT substring(@string,@p,charindex(@Delimiter,@string)) --+ @p)
       --select   substring(@string,5,15) SET @p = charindex(@Delimiter,@string) --1
     END
   RETURN
END 
我得到的结果是

SPLA-WINSVRSTD #P19-1999 QTY1
SPLA-WINSVRSTD #P12-2999 QTY2 
SPLA-WINSVRSTD #P19-1399 QTY3   
SPLA-WINSVRSTD #P19-1399 QTY4 
SPLA-WINSVRSTD #P59-5999 QTY5 
SPLA-WINSVRSTD #P69-6999 QTY6 
SPLA-WINSVRSTD #P79-7999 QTY7 
SPLA-WINSVRSTD #P69-6999 QTY8
到目前为止,它是好的,但我需要像这样的输出

SPLA P12-2999 QTY2 
SPLA P19-1399 QTY3   
SPLA P19-1399 QTY4 
SPLA P59-5999 QTY5 
SPLA P69-6999 QTY6 
SPLA P79-7999 QTY7 
SPLA P69-6999 QTY8
你能帮我写一个函数或过程来获得所需的输出吗?我建议使用这个函数,如下所示:

[格式清晰]

SELECT * FROM [dbo].StringSplitting(
REPLACE('SPLA-WINSVRSTD #P19-1999 QTY1:
         SPLA-WINSVRSTD #P12-2999 QTY2 : SPLA-WINSVRSTD #P19-1399 QTY3 : 
         SPLA-WINSVRSTD #P19-1399 QTY4 : SPLA-WINSVRSTD #P59-5999 QTY5 : 
         SPLA-WINSVRSTD #P69-6999 QTY6 : SPLA-WINSVRSTD #P79-7999 QTY7 : 
         SPLA-WINSVRSTD #P69-6999 QTY8', '-WINSVRSTD #','')
,':')
[用于复制和粘贴]

SELECT * FROM [dbo].StringSplitting(REPLACE(
'SPLA-WINSVRSTD #P19-1999 QTY1 : SPLA-WINSVRSTD #P12-2999 QTY2 : SPLA-WINSVRSTD #P19-1399 QTY3 : SPLA-WINSVRSTD #P19-1399 QTY4 : SPLA-WINSVRSTD #P59-5999 QTY5 : SPLA-WINSVRSTD #P69-6999 QTY6 : SPLA-WINSVRSTD #P79-7999 QTY7 : SPLA-WINSVRSTD #P69-6999 QTY8'
, '-WINSVRSTD #','') ,':')
SELECT * FROM [dbo].StringSplitting(REPLACE(
'SPLA-WINSVRSTD #P19-1999 QTY1 : SPLA-WINSVRSTD #P12-2999 QTY2 : SPLA-WINSVRSTD #P19-1399 QTY3 : SPLA-WINSVRSTD #P19-1399 QTY4 : SPLA-WINSVRSTD #P59-5999 QTY5 : SPLA-WINSVRSTD #P69-6999 QTY6 : SPLA-WINSVRSTD #P79-7999 QTY7 : SPLA-WINSVRSTD #P69-6999 QTY8'
, '-WINSVRSTD #','') ,':')