国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 永安市| 凭祥市| 万荣县| 平乡县| 兴和县| 荣成市| 迁西县| 平江县| 河西区| 平江县| 延津县| 华蓥市| 新宾| 祁门县| 铅山县| 大冶市| 高唐县| 云浮市| 建瓯市| 攀枝花市| 金塔县| 尉氏县| 华阴市| 瓮安县| 古蔺县| 德清县| 恭城| 旺苍县| 财经| 北票市| 成都市| 策勒县| 兴城市| 乌兰县| 保定市| 上蔡县| 台北市| 宿州市| 和硕县| 平原县| 张掖市|