国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

連續(xù)編號的流水號拼接成一個字串的存儲過程

2024-07-21 02:06:47
字體:
來源:轉載
供稿:網友


收集最實用的網頁特效代碼!


網友提問:
---------------------------------------
test1表
id start end
1   1     5
2   6     10
3   21    25
4   26    30
5   51    60
希望得到結果:
string:  1-10,21-30,51-60
---------------------------------------

用變量拼接字串的解法:

--建測試表:
create table test1 ( id int,start int,[end] int)

--添加測試數(shù)據:
insert test1 select 1,1,5
       union select 2,6,10
       union select 3,21,25
       union select 4,26,30
       union select 5,51,60

--建立拼接字串的函數(shù):
create procedure proa
as
begin

declare @s varchar(8000)

--給變量賦表中第一行的相應值, cast(min(start)-1 這里是為了配合后面的全表查詢中的第一行給正確地接上。注意,如果流水號是從0開始,'-'要相應用其他字符如“+”號替代,最后 select @s 時,再改回‘-’號,具體的語句是:select replace(@s,'+','-'):
select @s= + cast(min(start) as varchar(10)) + '-'
           + cast(min(start)-1 as varchar(10))
from test1

--順序查詢并拼接字串:
select @s= left(@s,len(@s)-charindex('-',reverse(@s))+1)
         + case when cast(right(@s,charindex('-',reverse(@s))-1) as int)+1
                     =start
                then cast([end] as varchar(20))
                else right(@s,charindex('-',reverse(@s))-1) + ','
                     + cast(start as varchar(10)) + '-'
                     + cast([end] as varchar(10))
           end
from test1
order by start

--返回結果:
select @s

end

--刪除測試表:
drop table test1

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿坝| 平舆县| 伊春市| 左贡县| 鹤壁市| 营山县| 元江| 通州区| 巍山| 英德市| 固阳县| 内乡县| 华阴市| 峡江县| 巧家县| 隆化县| 金门县| 广汉市| 清镇市| 福贡县| 安塞县| 县级市| 龙江县| 延津县| 永年县| 南充市| 鄢陵县| 陵水| 韶山市| 清流县| 镇坪县| 海兴县| 郓城县| 瓮安县| 嘉义县| 兰州市| 慈溪市| 且末县| 平和县| 喜德县| 明水县|