MS SQL 拆分逗号并检索字段
admin
2023-06-09 16:03:32
0
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 拆分逗号并检索字段






相关内容

热门资讯

人民日报刊文:警惕日本军国主义... 警惕日本军国主义卷土重来(国际论坛)斯特凡·卢比奇《人民日报》(2026年05月25日 第 03 版...
一线调研|从太空到3000米深... 来源:券商中国 当一颗卫星以每秒7公里的速度驶入太空,或者一台机器人潜入3000米深的海底,它们在传...
第8次会师!神舟二十三号航天员... 新华社酒泉5月25日电(记者李国利、高蕊)神舟二十三号航天员乘组25日顺利进驻“天宫”,中国航天员完...
伊朗方面称现阶段伊尚未就核问题... △伊朗首都德黑兰(资料图)总台记者当地时间5月24日获悉,伊朗方面表示,以色列媒体此前关于伊朗在开始...
小米YU7 GT、小米17 M... 5月21日,小米连续发布全新小米YU7家族,新增小米YU7 GT、YU7 标准版两大车型。同场发布的...
持续深耕AI4S创新创业生态 ... 首期科学智能百团百项“科创训练营”近日在沪举办,来自近30个AI4S(AI for Science)...
特朗普:美伊协议“尚未完全谈妥... 新华社华盛顿5月24日电(记者颜亮 徐剑梅)美国总统特朗普24日说,美国和伊朗的协议“尚未完全谈妥”...
大幅升级改造!神舟二十三号飞船... 神舟二十三号飞船出征在即,作为新批次飞船的第二艘飞船,它有哪些改进?承担什么样的任务? 人机界面升...
原创 这... 在自然界,有一些动物通过模仿有毒的、有害的其它动物,来提高生存能力,也有一些动物通过模仿周围的环境来...
Windows竟然藏了一个工具... 快科技5月24日消息,据Neowin报道,Windows系统中有一个鲜为人知的“Windows To...