線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1447
推到 Plurk!
推到 Facebook!

請問數字連續之問題

尚未結案
shing.net
中階會員


發表:207
回覆:124
積分:66
註冊:2002-03-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-17 10:20:56 IP:211.74.xxx.xxx 未訂閱
請問數字連續之問題,請問如何判斷 200301-200312之間是否連續 例如 一資料庫 200301 200302 200303 有連續--3 200304 200306 無連續--0 200308 200309 200310 200311 有連續--4 請問有何方式最簡單達成此檢查 謝謝
carter6
初階會員


發表:53
回覆:108
積分:42
註冊:2002-12-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-17 15:09:38 IP:218.170.xxx.xxx 未訂閱
shing.net您好 i1 := 第一筆資料編號 ; i2 := 第最後一筆資料編號 ; i3 := i2 - i1 - 1 ; // 應連續的資料數 Sql 搜尋出來的筆數 檢查是否跟 應連續的資料數 相同 相同就是有連續 Carter
seaturn99
版主


發表:69
回覆:427
積分:214
註冊:2003-08-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-20 16:17:32 IP:211.76.xxx.xxx 未訂閱
shing.net 您好 : SQL Command : SELECT Max(MyField)-Min(MyField) 1-Count(*) FROM Mytable 執行結果 0 => 連續 .. 非 0 => 不連續 .. ---- 我只會兩件事,這也不會,那也不會 眼見不一定為真 ----
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-03-20 19:55:26 IP:61.71.xxx.xxx 未訂閱
引言: 請問數字連續之問題,請問如何判斷 200301-200312之間是否連續 例如 一資料庫 200301 200302 200303 有連續--3 200304 200306 無連續--0 200308 200309 200310 200311 有連續--4 請問有何方式最簡單達成此檢查 謝謝
如果你只是想檢查是否有連續, 已經有兩位答案了, 不過我想你應該不只是如此吧, 更是想找出未連續的號碼有那些, 那你可以這樣的做法 query1 sql 語法 select fld1 from table1 order by fld1 (fld1為號碼欄位)
nownum:= query1.fieldbyname('fld1').AsIntger;  // 取得第1號
query1.first;
while not query1.eof do beign
   query1.next;
   nextnum:= query1.fieldbyname('fld1').AsInteger;
   if nextnum > nownum 1 then begin
      for i:= nownum 1 to nextnum-1 do memo1.lines.add(inttostr(i));
   end;
   nownum:= nextnum
end;
以上程式未經實際認證, 在分析中是ok的, 你可以試試看
系統時間:2024-05-19 6:52:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!