文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MS SQL 拆分逗号并检索字段

2024-04-02 19:55

关注
create table curtest (djbh varchar(20) primary key,sales varchar(20))
go
insert curtest
select 'A1','01,02,03' union all           --创建表并插入记录
select 'A2','01,02'  union all
select 'A3','02,03'  union all
select 'A4','02,03,04'  
go

declare cur_test cursor for select * from curtest    --声明游标
declare @djbh varchar(20)                            --定义变量单据编号
declare @sales varchar(20)                            --定义变量销售
declare @star int,@len int,@dhwz int                -- 定义变量开始,长度,逗号位置
open cur_test                                        --打开游标
fetch next from cur_test into @djbh,@sales            --获取第一条记录
while(@@FETCH_STATUS=0)                                --根据返回状态确认执行结果。0代表成功
begin
set @star=1                                            --对开始位置赋值1
set @dhwz=CHARINDEX(',',@sales,@star)                --获取第一个逗号位置
set @len=LEN(@sales)                                --获取字段长度
while(@star<=@LEN)                                    --循环条件,开始位置小于字段长度
begin                                            
select @djbh,substring(@sales,@star,@dhwz-@star)        --获取逗号前字符 
set @star=@dhwz+1                                        --每次循环,将上次逗号位置+1作为下次开始位置
set @dhwz=CHARINDEX(',',@sales,@star)                   --以上次逗号位置+1作为本次开始位置,检索下一个逗号位置
if(@dhwz=0)                                                --判断,当检索不到逗号(即返回值为0,并且已到达最后一个逗号)
begin
select @djbh,SUBSTRING(@sales,@star,(@len-@star)+1)     --最后一个逗号后字符,以上一次逗号位置+1开始,长度为字段总长度减开始位置+1
break                                                    --跳出循环    
end    
end
fetch next from cur_test into @djbh,@sales              --读取下一条记录,并重新开始执行循环(拆分并检索逗号分割字符)
end
close cur_test

MS SQL 拆分逗号并检索字段

MS SQL 拆分逗号并检索字段






阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯