编号标准宗地编码(landCode)所在区段编码(sectCode)1131001BG001G0012131001BG002G0013131001BG003G0014131001BG004G0025131001BG005G003现在需要将表中的数据转换为如下表所示结果:编号区段编码包含的标准宗地1G001131001BG001,131001BG002,131001BG0032G002131001BG0043G003131001BG005在SQLserver数据库中,创建自定义函数
编号 | 标准宗地编码(landCode) | 所在区段编码(sectCode) |
1 | 131001BG001 | G001 |
2 | 131001BG002 | G001 |
3 | 131001BG003 | G001 |
4 | 131001BG004 | G002 |
5 | 131001BG005 | G003 |
现在需要将表中的数据转换为如下表所示结果:
编号 | 区段编码 | 包含的标准宗地 |
1 | G001 | 131001BG001,131001BG002,131001BG003 |
2 | G002 | 131001BG004 |
3 | G003 | 131001BG005 |
create function combstr(@name nvarchar(50))
returns nvarchar(300)
as
begin
declare @resultStr nvarchar(300)
declare @tempStr nvarchar(500)
declare @flag int
declare myCur cursor --定义游标
For(select landCode from land where sectCode=@name )
open myCur –-打开游标
fetch next from myCur into tempStr –将游标下移
set @flag=0
while @@fetch_status=0
begin
if @flag=0
begin
set @resultStr=@tempStr
end
else
begin
set @resultStr=@resultStr+','+@tempStr
end
set @flag=@flag+1
fetch next from myCur into @tempStr
end
close myCur
deallocate myCur
return @result
end
声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!