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

以Query查詢日期資料如何做?

 
pokemf
一般會員


發表:5
回覆:12
積分:3
註冊:2002-05-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-05-28 22:19:15 IP:61.170.xxx.xxx 未訂閱
敬啟者 假設我某個table中有個欄位名稱為 STDAY1 型別為日期型態 ,我想將所有日其為 2002/5/27 的資料找出,請問如何作,謝謝各位先進
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-05-28 22:31:15 IP:192.168.xxx.xxx 未訂閱
引言: 敬啟者 假設我某個table中有個欄位名稱為 STDAY1 型別為日期型態 ,我想將所有日其為 2002/5/27 的資料找出,請問如何作,謝謝各位先進
不同的資料庫其SQL下查日期的指令都不同喔! Oracle資料庫: SELECT * FROM CUSORD WHERE ORD_DATE = ‘2000-3月-17’ InterBase資料庫: SELECT * FROM CUSORD WHERE ORD_DATE = ‘3/17/2000’ Access資料庫 SELECT * FROM CUSORD WHERE ORD_DATE = 36602 MS-SQL資料庫 不確定... ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-05-29 07:48:47 IP:211.22.xxx.xxx 未訂閱
用 Parameter 解決 
 
Query1.Close;
Query1.SQL.Text := 'Select * From Table1 Where STDAY1 = :TheDate';
Query1.ParamByName('TheDate').AsDateTime := StrToDate('2002/5/27');
Query1.Open;
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-05-29 08:01:41 IP:163.29.xxx.xxx 未訂閱
引言:
引言: 敬啟者 假設我某個table中有個欄位名稱為 STDAY1 型別為日期型態 ,我想將所有日其為 2002/5/27 的資料找出,請問如何作,謝謝各位先進
不同的資料庫其SQL下查日期的指令都不同喔! Oracle資料庫: SELECT * FROM CUSORD WHERE ORD_DATE = ‘2000-3月-17’ InterBase資料庫: SELECT * FROM CUSORD WHERE ORD_DATE = ‘3/17/2000’ Access資料庫 SELECT * FROM CUSORD WHERE ORD_DATE = 36602 MS-SQL資料庫 不確定... ~~~Delphi K.Top討論區站長~~~
Sybase 及MS-SQL均可用 SELECT * FROM CUSORD WHERE ORD_DATE = ‘2000/3/17’ 實際上各資料庫均可設定DateFormat,例如Oracle,我們習慣在資料庫一連接即先下 alter session set NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss' 如此可讓程式在各資料庫中保持一致
pokemf
一般會員


發表:5
回覆:12
積分:3
註冊:2002-05-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-05-29 11:52:22 IP:61.170.xxx.xxx 未訂閱
謝謝各為幫忙,問題已解決,是用 hagar's的方式解決的,至於其它方法,我再試試 thank's p.s.給個建議,雖然網路資源共享是好現象,但若濯收一點會費,可以讓這個網站長的更好,更安全,是不是呢,ex:買個更強大的 firewall :),只要防止不要變質成收費大恐龍就可以了
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-05-29 12:03:47 IP:192.168.xxx.xxx 未訂閱
引言: 謝謝各為幫忙,問題已解決,是用 hagar's的方式解決的,至於其它方法,我再試試 thank's p.s.給個建議,雖然網路資源共享是好現象,但若濯收一點會費,可以讓這個網站長的更好,更安全,是不是呢,ex:買個更強大的 firewall :),只要防止不要變質成收費大恐龍就可以了
本站不會對會員收費的,因為這樣就喪失服務廣大用戶的目的, 若需要經費會從其它方式獲得,比如會員的軟體在網上銷售..., 而且這一次的駭客事件並不是因為防火牆太差的原因, 是因為本站採用Snitz Forums 2000討論程式有漏洞的原因, 希望網友繼續支持本站,只要有你們持續上網討論,本站就會一直開下去的! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
linkolong
一般會員


發表:4
回覆:35
積分:12
註冊:2002-04-23

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-05-29 12:54:42 IP:61.70.xxx.xxx 未訂閱
我個人覺得討論區最精采處不在問題,而是答案,為求目的,每人貢獻心力,不擇手段,無所不用其極.....達成目的,一個答案可能是照本宣章,或別出心裁,都是值得我們尊敬的,貢獻心力給不認識的人其精神更是可貴,然而這卻是討論區成功之所在. 關於"付費",我想可能有一個結果,問問題,別人卻要"付費"回答你的問題,喔喔~~有這麼大情操的人可能會很少吧,結果是版主老兄拼命的回答問題,也許會因此多了幾根白頭髮....嘻嘻
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-05-29 14:58:26 IP:192.168.xxx.xxx 未訂閱
引言: 我個人覺得討論區最精采處不在問題,而是答案,為求目的,每人貢獻心力,不擇手段,無所不用其極.....達成目的,一個答案可能是照本宣章,或別出心裁,都是值得我們尊敬的,貢獻心力給不認識的人其精神更是可貴,然而這卻是討論區成功之所在. 關於"付費",我想可能有一個結果,問問題,別人卻要"付費"回答你的問題,喔喔~~有這麼大情操的人可能會很少吧,結果是版主老兄拼命的回答問題,也許會因此多了幾根白頭髮....嘻嘻
站長非常同意您的看法,實本站這三個月以來,有許多默默貢獻心力的會員,如: hagar.dllee,scottliou,ccchen,阿子,linkolong,noah,delphiwww,jieshu...等 (其它未列出的會員勿見怪), 他們都無回報的盡一己之力回答網友的問題,站長非常感恩, 網友們在此得到解答之後,別忘了感謝這些熱心的"教師"喔, 我想雖然你們的付出無法馬上得到回報, 但我相信因果循環,做好事的人老天會看得到的, 大家一起加油吧! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
pokemf
一般會員


發表:5
回覆:12
積分:3
註冊:2002-05-24

發送簡訊給我
#9 引用回覆 回覆 發表時間:2002-05-30 11:36:01 IP:61.170.xxx.xxx 未訂閱
我想因為有這個site 做為起點,加上大家熱烈響應,國內delphi 的水準提昇是指日可待,礙於個人是剛進入 delphi ,功力有限,期望趕快也有能力成為回答別人問題的 '先進' . 至於收費問題,大家有這麼高的想法,希望貴站收費是.....太侮辱斯文了,
azi
一般會員


發表:10
回覆:39
積分:9
註冊:2002-05-27

發送簡訊給我
#10 引用回覆 回覆 發表時間:2002-05-31 13:40:45 IP:210.241.xxx.xxx 未訂閱
引言:
引言:
引言: 敬啟者 假設我某個table中有個欄位名稱為 STDAY1 型別為日期型態 ,我想將所有日其為 2002/5/27 的資料找出,請問如何作,謝謝各位先進
不同的資料庫其SQL下查日期的指令都不同喔! Oracle資料庫: SELECT * FROM CUSORD WHERE ORD_DATE = ‘2000-3月-17’ InterBase資料庫: SELECT * FROM CUSORD WHERE ORD_DATE = ‘3/17/2000’ Access資料庫 SELECT * FROM CUSORD WHERE ORD_DATE = 36602 MS-SQL資料庫 不確定... ~~~Delphi K.Top討論區站長~~~
Sybase 及MS-SQL均可用 SELECT * FROM CUSORD WHERE ORD_DATE = ‘2000/3/17’ 實際上各資料庫均可設定DateFormat,例如Oracle,我們習慣在資料庫一連接即先下 alter session set NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss' 如此可讓程式在各資料庫中保持一致
我是用MS-SQL的 我經常使用的查詢語法是 SELECT * FROM CUSORD WHERE ORD_DATE = '20000317' 欄位是日期型態也可以這麼寫. 不過我目前設計的TABLE的日期欄位,除非會用到分秒 都幾乎改用8個字元來代替. 因為這樣可以免掉轉換與寫程式的一些困擾. --- Azi
------
---
Azi
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#11 引用回覆 回覆 發表時間:2002-05-31 14:01:37 IP:192.168.xxx.xxx 未訂閱
引言: 不過我目前設計的TABLE的日期欄位,除非會用到分秒 都幾乎改用8個字元來代替.
我也是用字元型態存日期, 但是如果要對日期做運算就麻煩了, 比如要算出進貨與出貨日期相差30天以上的貨單就.... ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
azi
一般會員


發表:10
回覆:39
積分:9
註冊:2002-05-27

發送簡訊給我
#12 引用回覆 回覆 發表時間:2002-05-31 15:48:23 IP:210.241.xxx.xxx 未訂閱
引言:
引言: 不過我目前設計的TABLE的日期欄位,除非會用到分秒 都幾乎改用8個字元來代替.
我也是用字元型態存日期, 但是如果要對日期做運算就麻煩了, 比如要算出進貨與出貨日期相差30天以上的貨單就.... ~~~Delphi K.Top討論區站長~~~
確實,如果要做複雜一點的SQL運算就要考慮. 我的日期欄位大部分用來查詢,設為字串格式 可以方便輸出入時的程式運算. Azi --- Azi
------
---
Azi
pokemf
一般會員


發表:5
回覆:12
積分:3
註冊:2002-05-24

發送簡訊給我
#13 引用回覆 回覆 發表時間:2002-06-01 12:03:45 IP:61.170.xxx.xxx 未訂閱
除了站長大人提出的問題外,若考慮到跨國軟體時,倒是用日期欄位可以省確很多很多的麻煩,so 日期型還是必要之惡 :p
系統時間:2024-04-26 7:25:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!