在資料庫中如何得知不存在的日期 |
答題得分者是:李國維
|
lkw
一般會員 發表:10 回覆:6 積分:3 註冊:2006-07-12 發送簡訊給我 |
|
李國維
高階會員 發表:42 回覆:287 積分:235 註冊:2003-02-07 發送簡訊給我 |
[code cpp] ADOQuery1->Close(); ADOQuery1->SQL->Clear(); ADOQuery1->SQL->Add("SELECT DISTINCT DateStamp FROM TableName Where DateStamp BETWEEN '2010/1/1' and '2010/3/25 ORDER BY DateStamp ASC"); ADOQuery1->Open(); for (TDate tmpdate = TDate("2010/1/1") ; tmpdate <= TDate("2010/3/25") ; tmpdate ) { if (tmpdate != StrToDate(ADOQuery1->FieldByName("DateStamp")->AsString)) { // 不存在日期 } else { if (!ADOQuery1->Eof) ADOQuery1->Next(); } } [/code] 我想的邏輯大約是這樣做。請參考 ===================引 用 lkw 文 章=================== 請問一下各位大大: 我有一個資料表,其中一個欄位名稱是DateStamp,型別設定為DATE。 這個資料表每天都會寫入一筆資料,當然也包含日期。 有沒有甚麼辦法可以判斷在這個資料表中從2010/1/1到2010/3/25中,缺少了哪幾天的日期? |
pedro
尊榮會員 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
您好
提供用與臨時表比對語法的方式,給您參考,看適不適合您環境? [code sql] declare @temp table(dd char(8)) declare @d char(8) set @d='20100301' while @d<='20100331' begin insert @temp select @d set @d=convert(char(8),DateAdd(d,1,@d),112) end select dd from @temp where dd not in (select date1 from tab1 where date1 like '201003%') [/code] 以上在sql server 2000測OK |
lkw
一般會員 發表:10 回覆:6 積分:3 註冊:2006-07-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |