如何在递归存储过程中使用数据透视 [英] How to use pivot in a recursive stored procedure
本文介绍了如何在递归存储过程中使用数据透视的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在根据spaces
分隔varchar
(我知道空格的数量)
I am separating a varchar
according to spaces
(I know the no. of spaces)
我正在使用stored procedure (Recursive)
这样做
Alter procedure [dbo].[1234]
@name varchar(100),
@count int
AS
BEGIN
if @count=1
begin
set @name=SUBSTRING(@name,CHARINDEX(' ',@name,1)+1,LEN(@name))
select @name
end
if @count>1
begin
select SUBSTRING(@name,1,CHARINDEX(' ',@name,1)-1)
set @count=@count-1
set @name=SUBSTRING(@name,CHARINDEX(' ',@name,1)+1,LEN(@name))
exec [dbo].[1234] @name,@count
end
END
我在
exec [dbo].[1234] 'a b c d e f g h',8
我的结果是
但是我希望我的结果为
推荐答案
Alter procedure [dbo].[1234]
@name varchar(100)
as
Select @name='Select' + ''''+Replace(@name,' ',''',''')+''''
EXEC( @name)
GO
[1234] 'A b c d e f'
这是一个 SQL Fiddle演示.
这篇关于如何在递归存储过程中使用数据透视的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文