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

時間的相減,格式問題

缺席
lovemari
中階會員


發表:134
回覆:224
積分:76
註冊:2005-08-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-07-30 19:10:01 IP:122.116.xxx.xxx 訂閱

[code delphi]
Params.CreateParam(ftString ,'EDATE',ptInput);
Params.ParamByName('EDATE').AsString := FormatDateTime('yyyymmdd',DateTimePicker.DateTime)
--------------------------------------------------------------------------------------------------------------------------------
SELECT :EDATE - TO_CHAR(A.UPDATE_TIME,'YYYYMMDD')
FROM A
[/code]
這樣算下去 跨月份的都會有異常數字
譬如2008年3月30號 到 2008年7月30號
正常應該是122天
結果按照上面算式會變成 20080730 - 20080330
變成400天= =
請問各位大大我該怎麼解決呢??


[code delphi]
Params.CreateParam(ftString ,'EDATE',ptInput);
Params.ParamByName('EDATE').AsString : = DateTimeToStr(DateTimePicker.DateTime)

--------------------------------------------------------------------------------------------------------------------------------
SELECT :EDATE - TO_CHAR(A.UPDATE_TIME,'YYYYMMDD')
FROM A
[/code]

會出現 "資料類型不一致,預期為CHAR,但為DATE"
------
Program : Delphi 7
DataBase : Oracle 9i
Client : ClientDataSet
編輯記錄
lovemari 重新編輯於 2008-07-30 19:18:35, 註解 無‧
lovemari 重新編輯於 2008-07-31 09:17:41, 註解 無‧
lovemari 重新編輯於 2008-07-31 09:40:49, 註解 無‧
lovemari
中階會員


發表:134
回覆:224
積分:76
註冊:2005-08-18

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-07-31 11:03:36 IP:122.116.xxx.xxx 訂閱
我找到方法了 感謝各位大大

用 這樣就可以了

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