列转行,先创建函数,用于拆分类似逗号分隔字符串,也可以指定其他的分隔符
if OBJECT_ID('Fn_SplitString','TF') is not null drop function dbo.Fn_SplitString
go
create function Fn_SplitString(@String nvarchar(max), --待拆分字符串
@Separator nvarchar(10) ) --分隔字符串
returns @Result table (Code nvarchar(100))
as
begin
--如果传入的字符串长度为0,直接返回空表
if len(@Separator)=0 return
--循环处理
while len(@String)>0
begin
--如果已经没有分隔符了,退出循环
if CHARINDEX(@Separator,@String)=0 break
--如果字符串是以分隔符开始,不处理,并去掉最开始的分隔符
if CHARINDEX(@Separator,@String)>1
begin
insert into @Result(Code)
select left(@Stri

本文介绍了如何在SQL中进行行列转换。首先,提供了一个名为`Fn_SplitString`的自定义函数,用于将逗号分隔的字符串拆分为多行。接着,展示了调用该函数的示例,将逗号分隔的字符串转换为多行结果。随后,通过`Stuff`函数和`for xml path`结合的方式,将多行数据合并为一列,演示了行转列的方法。
最低0.47元/天 解锁文章
1303

被折叠的 条评论
为什么被折叠?



