时间:2021-07-01 10:21:17 帮助过:12460人阅读
以前做数据切割时我们都用php或asp来实现,今天突然发现sql中的Split函数也可以实现在sql查询中实现切割字符串哦,有需要的朋友可以参考一下。
有时我们要用到批量操作时都会对字符串进行拆分,可是SQL Server中却没有自带Split函数,所以要自己来实现了。没什么好说的,需要的朋友直接拿去用吧
代码如下 | |
SET ANSI_NULLS ON
while (@Index>0) set @Input = substring(@Input, @Index+datalength(@Separator)/2, len(@Input)) return |
如何使用:
代码如下 | |
declare @str1 varchar(max), @str2 varchar(max), @str3 varchar(max)
set @str1 = '1,2,3'
[Value] from [dbo].[SplitString](@str1, ',', 1) |
里面还有个自增的[Id]字段哦,在某些情况下有可能会用上的,例如根据Id来保存排序等等。
例如根据某表的ID保存排序:
代码如下 | |
update a set a.[Order]=t.[Id] from [dbo].[表] as a join [dbo].SplitString('1,2,3', ',', 1) as t on a.[Id]=t.[Value] |
实例
代码如下 | |
create function [dbo].[split] |