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

請問有關SQL 的問題

尚未結案
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-10 17:35:28 IP:218.103.xxx.xxx 未訂閱
我的data 裡有一個time stamp 的 field 有大量的data 我想做的是我只要 那 time stamp 最後十五分鐘的 data 請問可以怎樣做 我試過用 datediff 但我用的是D4 BDE admin standard type and paradox 好像不支援 謝謝
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-10 18:19:26 IP:61.218.xxx.xxx 未訂閱
引言: 我的data 裡有一個time stamp 的 field 有大量的data 我想做的是我只要 那 time stamp 最後十五分鐘的 data 請問可以怎樣做 我試過用 datediff 但我用的是D4 BDE admin standard type and paradox 好像不支援 謝謝
少用 BDE 不知功能 但你可以分二個查詢來作 1.查出最後一筆之時間 MAX() 2.用Delphi程式處理,-15分 3.再查詢一次 Where time stamp > 計算後之時間 try try see
pillar62
資深會員


發表:9
回覆:324
積分:271
註冊:2002-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-11 10:05:55 IP:210.64.xxx.xxx 未訂閱
你好 請問一下那個欄位的型態是什麼??可以試試看用 select * from tbl1 where time stamp <= (select max(time stamp) from tbl1) and time stamp >= (select max(time stamp) - 15 from tbl1)!! Pillar Wang
------
Pillar Wang
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-11 10:35:37 IP:202.62.xxx.xxx 未訂閱
您好﹗    抓出Max(Time Stamp)的值﹐賦值MyTime1﹐并將此值減去15分鐘﹐賦值變數MyTime2 用SQL語法的Between and子句做以查詢動作﹕
Uses DateUtils;
//引用DateUtils單元是因為以下程式碼中有使用TimeOf函數
//如果Time Stamp是時間形態﹐則可刪除上行的DateUtils單元
Var
  MyTime1, MyTime2: TDateTime;
begin
  Query1.Close;
  Query1.SQL.Clear;
  Query1.SQL.Add('Select Max(Time Stamp) From 資料表');
  Query1.Open;
  MyTime1 := TimeOf(Query1.Fields[0].Value);
  //如果Time Stamp是時間形態﹐則可刪除上行的TimeOf函數﹒
  MyTime2 := MyTime1 - StrToTime('00:15:00');
  Query1.Close;
  Query1.SQL.Clear;
  Query1.SQL.Add('Select * From 資料表 Where Time Stamp Between :MyTime1 and :MyTime2);
  Query1.ParamByName('MyTime1').Value := MyTime1;
  Query1.ParamByName('MyTime2').Value := MyTime2;
  Query1.Open;
end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-11 11:07:36 IP:218.103.xxx.xxx 未訂閱
謝謝大大的提點 但想問一下那個 15 的單位是 min 嗎? 我試過改成1 那出來的結果是所有的data 我是sql 的新手 真的有點看不懂這個 select max(Time_stamp) - (15) from tbl1 我試過只執行這一句, 那就只有 最後一個record 出來 那如果單位是min 應該出來的結果是最後15分鐘的data 但如果單位是sec 應該出來的結果是最後15sec的data 我也試過改成這樣select max(Time_stamp) - (15*60) from tbl1 但結果還是只有最後一個record 請幫幫忙
SamSam1230
中階會員


發表:128
回覆:178
積分:65
註冊:2004-12-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-05-11 11:36:00 IP:218.103.xxx.xxx 未訂閱
謝謝 我知道正確的語法了
系統時間:2024-07-02 23:13:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!