oracle查詢連續編號中缺失的編號

2021-08-25 16:39:06 字數 673 閱讀 1074

思路:

1.可以通過connect by level方法查詢出所有1000-最大編號之間的所有編號

2.通過oracle關聯查詢出所有不存在的編號

3.查詢前n條編碼返回到後台使用即可

select a.ln

from (

select tmp1.ln

from (select level ln

from (select max(to_number(jw_bus.bus_no)) count_num

from jw_bus

where to_number(jw_bus.bus_no) > 1000)

connect by level <= count_num) tmp1,

jw_bus tmp2

where tmp1.ln = tmp2.bus_no(+)

and tmp2.bus_no is null

and tmp1.ln > 1000

and not exists

(select 1 from batch_jw_bus_detail where batch_jw_bus_detail.bus_no = tmp1.ln)

order by tmp1.ln

) awhere rownum <= 10

怎麼查詢SQL中連續編號中間的斷號

思路給你 1 找到你的表中的 連續編號的 最小值。2 找到你的表中的 連續編號的 最大值。3 產生乙個臨時表,它的乙個字段最小值到最大值連續產生記錄。4 找到臨時表中的 那個欄位中 的 記錄 不在 你的表中 的 連續編號 中存在的所有記錄。初參條件 針對物件表 ls bas1資料庫裡的 ta1 表 ...

資料庫生成連續編號 前幾位為零

下面的 生成長度為8的編號,編號以bh開頭,其餘6位為流水號。得到新編號的函式 create function f nextbh returns char 8 asbegin return select bh right 1000001 isnull right max bh 6 0 6 from ...

找出連續數字中缺失的數字

今天有乙個業務上的問題,那就是在一串連續的數字中找出缺失的數字,我第一想到的就是借助hashmap去實現。如下 int array new int hashtablehasht new hashtable for int i 0 i array.length 1 i for int i 1 i ar...