SQL Server 自定义字符串分割函数
作者:网络转载 发布时间:[ 2015/5/29 14:03:16 ] 推荐标签:数据库
三、结合上边两个函数,像数组一样遍历字符串中的元素(表值函数)
1 create function Func_SplitStr(@SourceSql varchar(8000), @StrSeprate varchar(100))
2 returns @temp table(F1 varchar(100))
3 as
4 begin
5 declare @ch as varchar(100)
6 set @SourceSql=@SourceSql+@StrSeprate
7 while(@SourceSql<>'')
8 begin
9 set @ch=left(@SourceSql,charindex(',',@SourceSql,1)-1)
10 insert @temp values(@ch)
11 set @SourceSql=stuff(@SourceSql,1,charindex(',',@SourceSql,1),'')
12 end
13 return
14 end
15 go
----调用
select * from dbo.Func_SplitStr('1,2,3,4',',')
--结果:
1
2
3
4
另一种方式(表值函数):
1 create function Func_SplitStr(@str nvarchar(2000),@split nvarchar(2))
2 returns @t table(AccountCodeID int )
3 as
4 begin
5 declare @tmpAccountCodeID int,@getIndex int
6 set @getIndex=charindex(',',@str)
7 while(@getIndex<>0)
8 begin
9 set @tmpAccountCodeID=convert(int,substring(@str,1,@getIndex-1))
10 insert into @t(AccountCodeID) values (@tmpAccountCodeID)
11 set @str=stuff(@str,1,@getIndex,'')
12 set @getIndex=charindex(',',@str)
13 end
14 insert into @t(AccountCodeID) values (@str)
15 return
16 end
17 go
----调用
select * from dbo.Func_SplitStr('1,2,3,4',',')
--结果:
1
2
3
4
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
远程连接sql server 2000服务器的解决方案SQL Server修改数据库物理文件存在位置探讨SQL Server并发处理队列数据不阻塞解决方案迁移SQL Server到Azure SQL实战SQL SERVER 的前世今生?各版本功能对比SQL Server的WITH (NOLOCK)SQL Server如何用触发器捕获DML操作的会话信息SQL Server里书签查找的性能伤害监控SQL Server事务复制SQL Server数据库镜像下有效的索引维护SQL Server不停机移动镜像数据库SQL Server数据库备份压缩拷贝实例SQL Server数据库优化SQL SERVER的统计信息SQL Server里如何处理死锁SQL SERVER批量生成编号

sales@spasvo.com