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

SQL between 日期

答題得分者是:st33chen
g9614721
一般會員


發表:27
回覆:51
積分:15
註冊:2008-07-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-04-02 19:23:16 IP:140.125.xxx.xxx 訂閱

form1.Query6.SQL.Add('Select 貯存地點, max(庫存數量) as 最大庫存量,avg(庫存數量) as 平均庫存量 from A_save where 物品名稱="' dblookupcombobox1.text '" and 日期 between "datetimepicker2.date" and "datetimepicker2.date" group by 貯存地點');


可以跑 但無法搜尋

日期的地方該怎麼修改呢

我的資料庫是 paradox7
st33chen
尊榮會員


發表:15
回覆:591
積分:1201
註冊:2005-09-30

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-04-02 21:00:41 IP:122.116.xxx.xxx 未訂閱
您好,

paradox 我沒用過, 只提供想法看是否能給您解題方向.(注意, 我沒實測哦)

一. 假設 您的paradox table 中的 日期 欄位為 datetime 型.
1. 一般 datetime 型其實是 float 型, 但要注意的是 : 各種 db engine, 各種語言如何定義日期(也就是以哪一天當成 0)
如果定義都一致(都用同一天當成 0) 那就好解決
... ''' and 日期 between ' floattostr(datetimepicker1.date) ' and ' floattostr(datetimepicker2.date);
2. 如果不確定, 那可以將 兩邊的datetime型都用 函數轉為相同型式的字串 : (自己找一下paradox 的日期轉字串函數, 這裡假設為 datetostr)
... ''' and datetostr(日期,''yyyy/mm/dd'') between ''' formatdatetime('yyyy/mm/dd', datetimepicker1.date) ''' and ''' formatdatetime('yyyy/mm/dd', datetimepicker2.date) '''';

二. 假設 您的paradox table 中的 日期 欄位為 字串 型, 資料型式為 yyyy/mm/dd. 那就
... ''' and 日期 between ''' formatdatetime('yyyy/mm/dd', datetimepicker1.date) ''' and ''' formatdatetime('yyyy/mm/dd', datetimepicker2.date) '''';

參考一下
------
IS IT WHAT IT IS
我是 李慕白 請倒著唸.
又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦);
都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲.
編輯記錄
st33chen 重新編輯於 2009-04-02 21:03:56, 註解 無‧
st33chen 重新編輯於 2009-04-02 21:04:16, 註解 無‧
g9614721
一般會員


發表:27
回覆:51
積分:15
註冊:2008-07-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-04-03 02:31:08 IP:220.131.xxx.xxx 訂閱
感謝您詳細的解說
不過三個方法都不適用~><
type mismatch in expression

===================引 用 st33chen 文 章===================
您好,

paradox 我沒用過, 只提供想法看是否能給您解題方向.(注意, 我沒實測哦)

一. 假設 您的paradox table 中的 日期 欄位為 datetime 型.
1. 一般 datetime 型其實是 float 型, 但要注意的是 : 各種 db engine, 各種語言如何定義日期(也就是以哪一天當成 0)
如果定義都一致(都用同一天當成 0) 那就好解決
... ''' and 日期 between ' floattostr(datetimepicker1.date) ' and ' floattostr(datetimepicker2.date);
2. 如果不確定, 那可以將 兩邊的datetime型都用 函數轉為相同型式的字串 : (自己找一下paradox 的日期轉字串函數, 這裡假設為 datetostr)
... ''' and datetostr(日期,''yyyy/mm/dd'') between ''' formatdatetime('yyyy/mm/dd', datetimepicker1.date) ''' and ''' formatdatetime('yyyy/mm/dd', datetimepicker2.date) '''';

二. 假設 您的paradox table 中的 日期 欄位為 字串 型, 資料型式為 yyyy/mm/dd. 那就
... ''' and 日期 between ''' formatdatetime('yyyy/mm/dd', datetimepicker1.date) ''' and ''' formatdatetime('yyyy/mm/dd', datetimepicker2.date) '''';

參考一下
系統時間:2024-05-18 13:07:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!