[SQL]SQL中把一个字段的数据分多行显示

其实你完全可以写个自定义函数就OK了 。

===================================================================

create function f_split
(
@c varchar(), --要分割的字符串
@split varchar()--分隔符号
)
returns @t table(col varchar())
as
begin while(charindex(@split,@c)<>)
begin
insert @t(col) values (substring(@c,,charindex(@split,@c)-))
set @c = stuff(@c,,charindex(@split,@c),'')
end
insert @t(col) values (@c)
return
end
go
------------------------------------------------------------
declare @str varchar()
set @str = 'a.bb.ccc' select * from dbo.f_split(@str,'.')
declare @str varchar()--定义变量@str
set @str = 'a.bb.ccc' --@str初始值为a.bb.cc select substring(@str,number,charindex('.',@str+'.',number) - number) as col --charindex查询.在@str的位置,substring截取字段@str from master..spt_values--master数据库里的spt_values表
where [type] = 'p' and number between and len(@str)--len(@str)为变量str的长度
and substring('.'+@str,number,) = '.' 解释:master..spt_values表的type字段值为p的,对应,number字段的值是从1至255, 则where条件中,会找到所有满足条件的number值,1行只有1个numbe值,故select的结果形式是: a bb ccc
上一篇:TensorFlow DeepLab教程初稿-tensorflow gpu安装教程


下一篇:莫烦pytorch学习笔记(八)——卷积神经网络(手写数字识别实现)