SQL实现split功能的函数

本文介绍了一种在SQL中实现字符串分割(split)的方法,并演示了如何使用动态SQL来批量插入分割后的数据。此外,还提供了一个自定义的split函数,能够将包含分隔符的字符串拆分为多个部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. SQL实现split功能的函数
  2. 分割再成批插入
  3. declare @s varchar(8000),@sql nvarchar(4000)
  4. set @s='1,12,1212,4545'
  5. set @sql='insert into t(col) select '+replace(@s,',',' col union all select ')
  6. exec(@sql)
  7. 测试
  8. drop table #table
  9. declare @s varchar(8000),@sql nvarchar(4000)
  10. set @s='1,12,1212,4545,454'
  11. create table #table (col int)
  12. set @sql='insert into #table(col) select '+replace(@s,',',' col union all select ')
  13. exec(@sql)
  14. select * from #table
  15. create function f_split(@SourceSql varchar(8000),@StrSeprate varchar(10))
  16. returns @temp table(a varchar(100))
  17. --实现split功能 的函数
  18. as 
  19. begin
  20. declare @i int
  21. set @SourceSql=rtrim(ltrim(@SourceSql))
  22. set @i=charindex(@StrSeprate,@SourceSql)
  23. while @i>=1
  24. begin
  25. insert @temp values(left(@SourceSql,@i-1))
  26. set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
  27. set @i=charindex(@StrSeprate,@SourceSql)
  28. end
  29. if @SourceSql<>'/'
  30. insert @temp values(@SourceSql)
  31. return 
  32. end
  33. 用法:select * from dbo.f_split('ABC:BC:C:D:E',':'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值