MS SQL 拆分逗号并检索字段
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,create table curtest (djbh varchar(20) primary key,sales varchar(20))goinsert curtestselect 'A1','01
千家信息网最后更新 2026年11月01日MS SQL 拆分逗号并检索字段
create table curtest (djbh varchar(20) primary key,sales varchar(20))goinsert curtestselect 'A1','01,02,03' union all --创建表并插入记录select 'A2','01,02' union allselect 'A3','02,03' union allselect 'A4','02,03,04' godeclare 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代表成功beginset @star=1 --对开始位置赋值1set @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,并且已到达最后一个逗号)beginselect @djbh,SUBSTRING(@sales,@star,(@len-@star)+1) --最后一个逗号后字符,以上一次逗号位置+1开始,长度为字段总长度减开始位置+1break --跳出循环 end endfetch next from cur_test into @djbh,@sales --读取下一条记录,并重新开始执行循环(拆分并检索逗号分割字符)endclose cur_test
逗号
位置
长度
循环
字段
检索
变量
字符
游标
成功
代表
单据
条件
状态
结果
上一
销售
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技有限公司
互联网科技公司经营范围
广州紫鲸互联网科技有限公司
科技互联网企业
互联网最新的科技有限公司
天津摩尔互联网科技
济南华为互联网科技产业总部基地
随着互联网科技发展
互联网校园科技培训
世界互联网科技公司市值排名
如何创新互联网科技
互联网在线教育科技创业
半导体行业属于互联网高科技类吗
广东鹅鹅鹅互联网科技有限公司
普陀区互联网教育科技管理办法
陕西九四连强互联网科技有限公司
上海万顺科技互联网有限公司招聘
青岛互联网科技园
互联网企业和网络科技有限公司
中国主要互联网科技公司
耶加雪菲
互联网与科技
科技互联网企业
今日互联网科技
科技互联网技术
致骋互联网科技
狮子座互联网科技培训
四川狮子座互联网科技
广州优美互联网科技
小米互联网科技园设置