永发信息网

sql语句什么情况返回集合 什么情况返回数组

答案:2  悬赏:0  手机版
解决时间 2021-02-03 22:17
sql语句什么情况返回集合 什么情况返回数组
最佳答案
集合和数组也是你在程序里定义的吧,sql里查出来的都是一张表而已
全部回答

sql没有数组类型的,不过你可以自定一个varchar类型的变量,里边装字符串,用逗号分开,然后进行分割就成了数组,

第一步:数组长度的函数

sql code
alter function arrlen(@string varchar(1000),@spacemark varchar(200)) --@string 眼拆分的字符串 @spacemark 分割符 returns int as begin declare @i int set @i = (len(@string) - len(replace(@string,@spacemark,'')))/len(@spacemark) return(@i) end

第二步:按索引值取数组中的数据

sql code
alter function arrlist(@string varchar(8000),@spacemark varchar(8000),@arrstation int) returns varchar(8000) as begin declare @newstring varchar(8000) declare @returnstring varchar(8000) set @newstring = @string declare @i int set @i = 0 if(@arrstation>0 and @arrstation<=dbo.arrlen(@string,@spacemark)) begin while(@i<@arrstation) begin set @newstring = substring(@newstring,charindex(@spacemark,@newstring)+1,len(@newstring)) set @i = @i + 1 end end if(@arrstation<0) begin set @returnstring = '上标越界' end else if(@arrstation<dbo.arrlen(@string,@spacemark)) begin set @returnstring = substring(@newstring,1,charindex(@spacemark,@newstring)-1) end else if(@arrstation=dbo.arrlen(@string,@spacemark)) begin set @returnstring = @newstring end else begin set @returnstring = '下标越界' end return(@returnstring) end

测试程序: declare @a varchar(1000) declare @i int set @i = 0 set @a = 'a,b,c,d,e,f,g,h,i' while(@i <=dbo.arrlen(@a,',')) begin print dbo.arrlist(@a,',',@i) set @i = @i + 1 end

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
小美是个很要强的女孩,在班级里做什么事都不
利民路地址在什么地方,想过去办事
安卓手机开通腾讯会员会员多少钱
跪求纪录片《高三》里,谢怡唱的那首《那些花
我今天上午去医院做电孑耳鼻咽喉镜检查结果是
牢狱的意思是什么啊?知道的请说下!
【中国的成就有哪些】新中国成立以来取得的历
农家鸡汤面馆怎么去啊,有知道地址的么
日本最好的化妆学校学费多少
装了m.2固态硬盘 还要装2.5的固态吗?
联通公司为什么会打电话推荐办信用卡我把身份
知几的意思是什么啊?知道的请说下!
杨记牛肉馆在哪里啊,我有事要去这个地方
我今天买的基金没存过钱呢如果我不往里存钱有
你们谁有显示屏OE极性不同的板子
推荐资讯
红砖颜色烧的很老,盖房结实不结实?
武清区市场和质量监督管理局停车场(出入口)地
乔森鞋业连锁机构地址有知道的么?有点事想过
vivox3s怎么看是否充满电
心里在滴血相关的成语和句子
声控灯为什么听到声音就亮?
励志物流地址在哪,我要去那里办事
想知道: 黔南布依族苗族自治州 都匀市沙坝七
网络编辑是干什么的
一只公鸡能配几只老母鸡
商家卖给你过期食品,侵犯了你的什么权
停车场(003乡道)(中三段003乡附近停车场)地址
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?