国产一级一区二区_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久久夜色精品国产_欧美色网一区二区
久久综合色综合88| 国产精品久久国产精麻豆99网站| 久久国产免费| 国产精品视频免费一区| 亚洲一级在线观看| 国产精品一区二区你懂得| 午夜一区在线| 在线播放中文一区| 欧美国产日韩一二三区| 一区二区成人精品| 国产精品大片免费观看| 性欧美1819性猛交| 亚洲欧洲一区二区三区久久| 国产精品视频不卡| 久久伊人免费视频| 亚洲人成网站777色婷婷| 国产精品国产三级国产aⅴ9色| 欧美亚洲一区二区在线观看| 亚洲高清网站| 国产曰批免费观看久久久| 欧美激情影音先锋| 久久久久国产精品午夜一区| 亚洲一二三级电影| 一本色道精品久久一区二区三区 | 一本久道久久综合狠狠爱| 国产精品家教| 国产精品大片| 欧美日韩亚洲网| 欧美日本韩国一区| 欧美高清视频一区二区三区在线观看| 亚洲自拍偷拍麻豆| 一区二区免费在线观看| 99精品99| 亚洲午夜免费福利视频| 亚洲免费一在线| 欧美一区二区成人6969| 性亚洲最疯狂xxxx高清| 欧美一级播放| 久久蜜桃香蕉精品一区二区三区| 久久精品一区蜜桃臀影院| 久久精品国产91精品亚洲| 欧美一区亚洲| 欧美激情一区在线观看| 国产精品国产三级国产普通话三级| 欧美日韩岛国| 国产精品羞羞答答xxdd| 激情一区二区| 亚洲蜜桃精久久久久久久| 一区二区三欧美| 久久精品夜色噜噜亚洲a∨| 欧美福利视频网站| 国模套图日韩精品一区二区| 亚洲精品一区二| 久久精品综合一区| 国产精品vvv| 亚洲精品乱码久久久久久蜜桃91 | 国内久久精品视频| 亚洲人成网站在线播| 久久精品理论片| 欧美网站在线观看| 91久久久久久久久| 久久精品一区四区| 国产欧美精品国产国产专区| 亚洲国产精品久久久久久女王 | 国产精品久久久久久久第一福利| 影音先锋久久久| 老司机成人在线视频| 国产一区二区三区四区五区美女| 一区二区三区毛片| 欧美日本国产在线| 亚洲精品久久久久久久久久久久| 久久久久高清| 亚洲国产精品免费| 国产日韩欧美成人| 欧美午夜精品久久久久久超碰| 亚洲国产精品国自产拍av秋霞| 亚洲国产精品久久久久婷婷884| 国产伦精品一区二区三区| 国产精品美女黄网| 欧美日本精品一区二区三区| 久久综合狠狠| 在线中文字幕一区| 国内精品久久久久久| 欧美国产高潮xxxx1819| 美女日韩在线中文字幕| 国产精品天美传媒入口| 欧美日韩在线不卡一区| 欧美日韩免费观看一区二区三区| 亚洲另类在线一区| 午夜一区二区三视频在线观看| 国产精品欧美日韩一区| 久久久国产一区二区三区| 国产揄拍国内精品对白| 久久综合中文| 亚洲一区精彩视频| 国产精品久久久久一区二区三区 | 亚洲激情视频网站| 欧美久久综合| 激情综合自拍| 欧美精品乱人伦久久久久久 | 亚洲一区二区影院| 欧美精品一区在线发布| 一本久久综合亚洲鲁鲁| 狠狠爱综合网| 国产精品电影网站| 免费日韩精品中文字幕视频在线| 亚洲精品免费观看| 精品999成人| 国产乱码精品一区二区三区不卡 | 国产日韩欧美在线播放不卡| 免费日韩av| 欧美一区二区视频在线观看| 99精品视频免费观看| 亚洲日韩成人| 亚洲黄色在线观看| 在线观看一区| 在线精品观看| 亚洲精品欧洲| 亚洲一区二区欧美日韩| 国产精品99久久久久久久久| 日韩视频三区| 亚洲欧美一区二区视频| 欧美在线观看一区二区| 亚洲淫性视频| 欧美一区三区二区在线观看| 欧美一级黄色网| 欧美国产一区二区在线观看| 欧美精品在线免费观看| 国产精品xxxxx| 韩日在线一区| 国产精品99久久久久久久vr| 午夜精品久久久久久99热软件| 午夜视频在线观看一区二区三区| 久久国产色av| 国产精品成人一区二区三区夜夜夜 | 国产日产欧美精品| 国产小视频国产精品| 亚洲级视频在线观看免费1级| 亚洲一级特黄| 欧美xxxx在线观看| 激情综合色综合久久综合| 国产女主播一区二区| 在线精品在线| 亚洲精品视频免费观看| 91久久久国产精品| 欧美α欧美αv大片| 国产情人节一区| 午夜国产一区| 国产老女人精品毛片久久| 一区二区三区av| 美女视频黄 久久| 影音先锋日韩有码| 欧美成人精品一区二区| 尤物在线观看一区| 欧美成人r级一区二区三区| 尤物在线精品| 欧美人成在线| 亚洲欧美国产va在线影院| 国产精品视频你懂的| 欧美激情一区二区| 国产欧美日韩91| 激情成人av在线| 尤物在线观看一区| 免费在线观看一区二区| 久久久精品tv| 久久久精品国产免费观看同学 | 一区二区三区无毛| 国产欧美在线视频| 国内揄拍国内精品久久| 亚洲第一色中文字幕| 亚洲人成亚洲人成在线观看| 日韩一本二本av| 午夜一区在线| 亚洲香蕉伊综合在人在线视看| 亚洲免费av观看| 99精品福利视频| 免费视频久久| 欧美二区在线看| 欧美性久久久| 亚洲区一区二区三区| 亚洲精品久久久久久久久| 亚洲免费视频一区二区| 久久久天天操| 国产精品亚洲视频| 欧美亚洲免费高清在线观看| 伊人伊人伊人久久| 国产欧美在线播放| 欧美在线看片a免费观看| 精品成人久久| 国产女人aaa级久久久级| 免费在线欧美视频| 亚洲国产一区视频| 在线成人av网站| 欧美日韩精品免费看| 国产精品v欧美精品v日本精品动漫| 欧美日韩国产经典色站一区二区三区| 久久激情视频久久| 亚洲女性喷水在线观看一区| 国产亚洲精品一区二555| 国产精品腿扒开做爽爽爽挤奶网站|