MS SQL 拆分逗号并检索字段
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,create table curtest (djbh varchar(20) primary key,sales varchar(20))goinsert curtestselect 'A1','01
千家信息网最后更新 2025年02月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安全错误
数据库的锁怎样保障安全
微信小程序免费服务器支持多少人
网络安全和保密工作要点
国家兽药基础数据库网址下载
网络安全演讲赛的心得
软件开发部门责任状
服务器除尘设备坪山区
网络安全渗透月工资多少
安卓音乐软件开发歌曲
软件开发服务合同百度文库
广东软件开发者价位
教育软件开发外包公司有哪些
重庆腾讯互联网未来科技城
王者荣耀转服务器怎么转不了
团中央网络技术部邵德海级别
计算机安卓软件开发专业
选择网络安全的三关三检测
网络经济发展与网络安全的关系
安装数据库5
电信网络安全试点
北邮计算机网络技术专业
占主导的数据库类型
企业网络安全解决方案书
绍兴迅极网络技术开发
连州数据库修复
短信软件开发商
网络技术和数字媒体
鸿信网络技术招聘
密码编码学网络安全习题答案
网络技术都考什么
惠普服务器换硬盘