T-SQL的Split

01--创建一个变量,存储要进行分割存储的字符串
02declare @str varchar(128);
03set @str = '01,2,331,4,5,06,7,5432,78';
04  
05--变量表,用于存放分割后的字符串
06declare @table table
07(
08    n varchar(128)
09)
10  
11--变量,临时存放每次分割时的字符串
12declare @char varchar(128);
13set @char = (select SUBSTRING(@str,0,CHARINDEX(',',@str)));
14  
15--开始循环,根据分割后的字符串长度,判断是否继续循环
16while(len(@char) > 0)
17  begin
18    --将预先分割的第一个字符串存入数据库
19    insert into @table values(@char);
20      
21    --从要分割的字符串中剔除掉已经存在的字符串
22    set @str = (select SUBSTRING(@str,LEN(@char)+2,len(@str)));
23      
24    --从剔除后的字符串中重新查找指定分割符前的所有字符串,如果没有找到,此时的@char将为空,结束循环
25    set @char = (select SUBSTRING(@str,0,CHARINDEX(',',@str)));
26  end
27   
28--将最后剩下的字符串也一并存入
29insert into @table values(@str);
30  
31--输出表的数据
32select * from @table;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值