数据库SQL中实现split功能
如传入变量 '1,2,3,4'则可解析成1 2 3 4
declare @string varchar(5000)
declare @splitchar char(1)
declare @l int -- 第一个分隔字符的位置
declare @s int -- 第二个分隔字符的位置
set @string ='1,2,3,4'
set @splitchar=','
set @l = 0 
set @s = charindex(@splitchar@string@lwhile @l <= len(@string)
begin
 
declare @id nvarchar(50--被分割出来的值  
--
 假如到最后一个字符串那么第二个分隔字符的位置就是这个字符串的长度加一
if @s = 0 set @s = len(@string+ 1 
set @id = substring(@string@l@s - @l-- 取值
 set @l = @s + 1
 
set @s = charindex(@splitchar@string@l)  
select @id 
if ltrim(rtrim(@id)) <>'' continue -- 假如是空字符串就跳过  

end

下面是函数,
SqlServe中分割字符串实现 类似split()功能set ANSI_NULLS ON
SqlServe中分割字符串实现 类似split()功能
set QUOTED_IDENTIFIER ON
SqlServe中分割字符串实现 类似split()功能
go
SqlServe中分割字符串实现 类似split()功能
SqlServe中分割字符串实现 类似split()功能
SqlServe中分割字符串实现 类似split()功能

具体用例,还没有封装好,先贴着,等有时间再整

相关文章:

  • 2021-12-23
  • 2021-11-04
  • 2022-12-23
猜你喜欢
  • 2021-12-23
  • 2022-02-02
  • 2022-12-23
  • 2021-08-10
  • 2022-01-28
  • 2022-01-18
  • 2022-02-19
相关资源
相似解决方案