国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關(guān)注微信公眾號

如何用SQL語句求排除斷號的號碼串
2010-03-01   網(wǎng)絡(luò)

一用戶對繳款日報中的票據(jù)號使用情況提出要求,希望以類似5-6,9-10,12-20的方式展現(xiàn),以便直觀地反映實際使用的票據(jù)號情況。

  我們經(jīng)過分析發(fā)現(xiàn),實現(xiàn)這一需求的難點主要有兩點:

  1. 如果要找出斷號,用SQL語句實現(xiàn),主要是要考慮性能;

  2. 將排除斷后的使用號碼段的多條記錄轉(zhuǎn)換為一行顯示,即用SQL實現(xiàn)行列轉(zhuǎn)換;

  如果通過編程來實現(xiàn),這兩點都不難,但通過SQL來實現(xiàn),則需要一些技巧。

  假設(shè)知道已用票據(jù)號為3,4,5,7,8,11,12,最小為3,最大為12,求斷號的SQL如下:

 


Select Rownum + (3 - 1)
From Dual
Connect By Rownum <= 12 - (3 - 1)
Minus
Select Column_Value Txt From Table(Cast(Zltools.f_Num2list('3,4,5,7,8,11,12') As Zltools.t_Numlist))

  求出的結(jié)果是三條記錄,6,9,10

  其中用到一個技巧就是用Connect by Rownum來產(chǎn)生按順序增長的記錄集。

  求轉(zhuǎn)換為一行顯示的已用票據(jù)段的SQL如下:

 


With TEST As(
Select Column_Value 編 號 From Table(Cast(Zltools.f_Num2list('3,4,5,7,8,11,12') As Zltools.t_Numlist))
)
Select Substr(Max(LPAD(Length(分段), 5,'0') || 分 段), 7, 1000) As 分段
From (
Select Sys_Connect_By_Path(分 段, ',') As 分段
From (
Select Rownum As 行號,A.起始號||'-'||(B.中斷號 -1) As 分段
From (
Select Rownum As 行號,編號 As 起始號
From (
Select 編號 From TEST
Minus
Select 編號+1 From TEST)
) A,
(Select Rownum As 行號,編號 As 中斷號 From (
Select 編號+1 As 編 號 From TEST
Minus
Select 編號 From TEST)
) B
Where A.行號=B.行號)
Start With 行號 = 1
Connect By (行號 -1) = Prior 行號)

 查詢結(jié)果: 3-5,7-8,11-12

  其中用到以下技巧:

  1. 用minus方式求已用號碼段的起始號和終止號的記錄集

  2. 用Sys_Connect_By_Path函數(shù)和樹型查詢實現(xiàn)多行記錄轉(zhuǎn)換為一列

  3. 用Substr,Max,LPAD,Length幾個函數(shù)的組合來求最長的一條記錄

  如是Oracle 10G及以后的版本,可以使用一個新的函數(shù)Wmsys.Wm_Concat,比前面樹型查詢的速度要快很多。

 


   With TEST As(


  Select Column_Value 編 號 From Table(Cast(Zltools.f_Num2list('3,4,5,7,8,11,12') As Zltools.t_Numlist))


  )


  Select Wmsys.Wm_Concat(分段) as 分段


  From (


   Select Rownum As 行號,A.起始號||'-'||(B.中斷號-1) As 分段


  From (


   Select Rownum As 行號,編號 As 起始號


  From (


  Select 編號 From TEST


   Minus


  Select 編號+1 From TEST)


  ) A,


  (Select Rownum As 行 號,編號 As 中斷號 From (


  Select 編號+1 As 編號 From TEST


  Minus


   Select 編號 From TEST)


  ) B


  Where A.行號=B.行號)

熱詞搜索:

上一篇:新調(diào)度算法可減少數(shù)據(jù)中心能源消耗
下一篇:關(guān)于SQL Server群集的幾個關(guān)鍵技巧

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
欧美午夜性色大片在线观看| 亚洲美女av在线播放| 久久久噜噜噜久久中文字免| 亚洲制服丝袜在线| 久久亚洲精品一区| 欧美日韩一区二区三区免费看 | 久久久精品网| 欧美国产视频一区二区| 国产精品国产自产拍高清av| 一区二区在线观看视频| 亚洲最快最全在线视频| 久久久久久久久久久成人| 欧美性猛交视频| 亚洲黄色高清| 久久综合给合| 国产真实乱子伦精品视频| 亚洲网友自拍| 欧美日韩亚洲免费| 亚洲国产导航| 免费观看在线综合| 在线电影欧美日韩一区二区私密| 欧美伊久线香蕉线新在线| 国产精品综合视频| 久久电影一区| 极品av少妇一区二区| 欧美一区二区日韩一区二区| 国产精品久久一区二区三区| 在线视频日韩| 国产精品影视天天线| 夜夜精品视频| 国产精品视频免费观看| 亚洲在线一区| 国产一区二区三区四区hd| 久久精品视频在线看| 国内精品一区二区三区| 另类酷文…触手系列精品集v1小说| 国语自产在线不卡| 欧美精品v国产精品v日韩精品| 一本久久综合| 激情综合激情| 欧美亚一区二区| 麻豆精品在线观看| 中文网丁香综合网| 国产一区二区三区视频在线观看| 久久综合一区| 欧美在线不卡| 亚洲另类自拍| 激情成人综合| 国产欧美精品国产国产专区| 女人香蕉久久**毛片精品| 亚洲天堂成人在线观看| 亚洲人成7777| 国产亚洲毛片在线| 久久中文在线| 久久精品二区| 欧美一区二区国产| 午夜精品www| 日韩视频一区二区在线观看 | 国产精品久久综合| 美女免费视频一区| 欧美一区二区私人影院日本| 中文高清一区| 亚洲视频在线观看一区| 亚洲精品在线电影| 尤物99国产成人精品视频| 国产美女精品视频免费观看| 欧美午夜在线视频| 国产精品一区二区黑丝| 国产欧美精品va在线观看| 国产欧美日韩专区发布| 国产精品视频免费观看| 国产久一道中文一区| 亚洲开发第一视频在线播放| 亚洲国产成人精品女人久久久 | 欧美激情网友自拍| 欧美电影在线观看完整版| 美日韩精品视频免费看| 欧美日韩日本国产亚洲在线| 国产欧美一区二区精品婷婷| 国内精品久久久久影院优| 国产亚洲欧美日韩日本| 在线播放日韩专区| 亚洲一区在线免费观看| 久久久久久久高潮| 欧美日韩精品在线视频| 国产亚洲一区二区精品| 亚洲国产婷婷香蕉久久久久久| 亚洲国产婷婷香蕉久久久久久99 | 女女同性精品视频| 国产精品久久久爽爽爽麻豆色哟哟| 国产精品入口| 欧美在线观看网站| 欧美午夜宅男影院在线观看| 伊人成人在线视频| 亚洲欧美激情视频| 欧美精品一卡| 亚洲日本在线观看| 久久综合一区二区| 国产亚洲精品aa午夜观看| 日韩亚洲在线观看| 欧美日韩在线一二三| 国内精品伊人久久久久av影院| 99re亚洲国产精品| 欧美日韩大片| 一本不卡影院| 国产精品初高中精品久久| 在线一区视频| 国产精品久久二区| 亚洲小视频在线| 欧美特黄视频| 亚洲午夜精品在线| 国产精品视屏| 欧美专区在线观看一区| 国产亚洲精品激情久久| 性久久久久久久久| 韩国一区二区在线观看| 久久久伊人欧美| 亚洲精品免费网站| 欧美日韩精品伦理作品在线免费观看| 亚洲欧洲精品一区二区| 欧美日韩一区在线播放| 亚洲欧美韩国| 亚洲国产欧美在线人成| 欧美三级乱人伦电影| 久久免费国产精品1| 欧美在线免费观看亚洲| 国产亚洲人成a一在线v站 | 久久九九热免费视频| 亚洲第一伊人| 国产美女精品视频免费观看| 蜜臀久久99精品久久久久久9 | 亚洲综合精品一区二区| 亚洲第一成人在线| 国产精品青草久久久久福利99| 久久久国产精品一区| 亚洲亚洲精品在线观看| 在线日韩中文| 国产日韩欧美麻豆| 狠狠色丁香久久婷婷综合丁香| 国产精品成人一区二区三区夜夜夜| 久热这里只精品99re8久| 欧美有码在线视频| 午夜一区二区三区在线观看| 中文一区二区| 亚洲一级黄色av| 亚洲视频在线看| 在线亚洲自拍| 亚洲一区二区三区在线看 | 精品88久久久久88久久久| 亚洲高清不卡av| 国产精品人成在线观看免费| 红桃视频一区| 夜夜嗨av一区二区三区| 在线播放日韩| 亚洲电影一级黄| 99精品热视频| 午夜精品免费视频| 免费成人在线视频网站| 欧美国产精品一区| 欧美三级乱人伦电影| 国产精品亚洲产品| 亚洲成色777777在线观看影院| 欧美性事在线| 一区二区三区在线观看视频| 99综合在线| 欧美电影打屁股sp| 国产视频在线一区二区| 日韩视频一区二区在线观看| 久久久精品日韩欧美| 欧美gay视频| 国产一区二区精品久久99| 一区二区三区四区蜜桃| 欧美一区二视频| 欧美日韩三级视频| 亚洲国产一区二区视频| 欧美中文在线字幕| 国内精品免费在线观看| 欧美伦理91i| 国产精品尤物| 性做久久久久久免费观看欧美| 欧美日韩精品免费观看视频| 亚洲精品视频在线播放| 欧美精品激情| 亚洲免费精彩视频| 免费在线国产精品| 国产一区清纯| 久久中文在线| 国产一区二区三区直播精品电影 | 蜜臀av性久久久久蜜臀aⅴ| 韩国精品一区二区三区| 欧美一区二区三区免费观看视频| 欧美剧在线观看| 一区二区精品在线| 欧美三日本三级三级在线播放| 日韩午夜在线电影| 国产精品美女久久久浪潮软件 | 欧美日韩国产综合新一区| 国产伊人精品| 美女视频黄免费的久久| 在线观看视频欧美|