<div class="codetitle"><a style="CURSOR: pointer" data="13875" class="copybut" id="copybut13875" onclick="doCopy('code13875')"> 代码如下:<div class="codebody" id="code13875"> SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE function [dbo].[SplitString] ( @Input nvarchar(max), @Separator nvarchar(max)=',', @RemoveEmptyEntries bit=1 ) returns @TABLE table ( [Id] int identity(1,1), [Value] nvarchar(max) ) as begin declare @Index int,@Entry nvarchar(max) set @Index = charindex(@Separator,@Input) while (@Index>0) begin set @Entry=ltrim(rtrim(substring(@Input,1,@Index-1))) if (@RemoveEmptyEntries=0) or (@RemoveEmptyEntries=1 and @Entry<>'') begin insert into @TABLE([Value]) Values(@Entry) end set @Input = substring(@Input,@Index+datalength(@Separator)/2,len(@Input)) set @Index = charindex(@Separator,@Input) end set @Entry=ltrim(rtrim(@Input)) if (@RemoveEmptyEntries=0) or (@RemoveEmptyEntries=1 and @Entry<>'') begin insert into @TABLE([Value]) Values(@Entry) end return end 函数、表都建好了,下面调用测试一下吧: <div class="codetitle"><a style="CURSOR: pointer" data="5590" class="copybut" id="copybut5590" onclick="doCopy('code5590')"> 代码如下:<div class="codebody" id="code5590"> declare @str1 varchar(max),@str2 varchar(max),@str3 varchar(max) set @str1 = '1,2,3' set @str2 = '1###2###3' set @str3 = '1###2###3###' select [Value] from [dbo].SplitString select [Value] from [dbo].SplitString select [Value] from [dbo].SplitString 结果,截个图来看一下: <IMG src="https:https://files.52php.cn/file_images/article/201302/2013221145734697.gif?2013121145826"> (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|