SQL Server 分割字符串转列
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SQL Server 分割字符串转列,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2047字,纯文字阅读大概需要3分钟。
内容图文
![SQL Server 分割字符串转列](/upload/InfoBanner/zyjiaocheng/498/3cea4bdab740453eb421fd192d6d3d88.jpg)
CREATE FUNCTION dbo.sf_DS_SplitNVarchar
(
@strValues nvarchar(4000)
)
RETURNS @tblStrList TABLE (id int identity(1,1),value nvarchar(4000))
AS
BEGIN
declare @strTmp nvarchar(4000)
declare @intPos int
select @strValues=ltrim(rtrim(@strValues))
while @strValues<>‘‘
begin
select @intPos=case when charindex(‘,‘,@strValues)=0 then len(@strValues) else charindex(‘,‘,@strValues)-1 end
select @strTmp=ltrim(rtrim(substring(@strValues,1,@intPos)))
select @strValues=ltrim(rtrim(substring(@strValues,@intPos+2,len(@strValues))))
insert into @tblStrList values(@strTmp)
end
RETURN
END
-- select value from dbo.sf_ds_splitnvarchar(‘A,B,C‘)
--【方法二】
CREATE FUNCTION dbo.sf_SplitVarchar_Sign
(
@strValues varchar(8000), --待分割字符串
@Sign char(1) --分割符
)
RETURNS @tblStrList TABLE (Zid int identity(1,1),value varchar(8000))
AS
BEGIN
declare @strTmp varchar(8000),
@intPos int
select @strValues=ltrim(rtrim(@strValues))
if right(@strValues,1) <> @Sign
select @strValues = @strValues + @Sign
if @strValues <> @Sign
begin
select @intPos = charindex(@Sign,@strValues)
while @intPos > 0
begin
select @strTmp = ltrim(rtrim(substring(@strValues,1,@intPos - 1)))
insert into @tblStrList values(@strTmp)
select @strValues = ltrim(rtrim(substring(@strValues,@intPos + 1,len(@strValues))))
select @intPos = charindex(@Sign,@strValues)
select @intPos = isnull(@intPos,0)
end
end
RETURN
END
--select value from dbo.sf_SplitVarchar_Sign(‘A,B,C‘,‘,‘)
--A
--B
--C
SQL Server 分割字符串转列
标签:substring ret div 字符 zid insert case when tab substr
本文系统来源:https://www.cnblogs.com/turingchang/p/8302129.html
内容总结
以上是互联网集市为您收集整理的SQL Server 分割字符串转列全部内容,希望文章能够帮你解决SQL Server 分割字符串转列所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。