2013-02-22 60 views
0

我正在使用ODBC連接Excel 2010,我知道我們可以通過添加[Blah Blah]在MS Query中設置參數並在實際查詢中添加?
使用Excel 2010中的DateTime參數運行SQL查詢

但我不知道如何使用to_date爲datatime做一個參數。

這是我的where子句。

where ("R"."TIME_STAMP">=TO_DATE ('03-02-2013 00:00:00', 'DD-MM-YYYY HH24:MI:SS') 
    AND "R"."TIME_STAMP"<=TO_DATE ('09-02-2013 23:59:59', 'DD-MM-YYYY HH24:MI:SS')) 

我不確定什麼信息我需要在這裏,但這裏是time_stamp字段的數據類型。

SQL> desc tablet 
Name          Null? Type 
----------------------------------------- -------- ----------------------- 
TIME_STAMP           DATE 
+0

請提供您嘗試連接的Oracle存儲過程。上面的WHERE子句不接受參數。 – ExactaBox 2013-02-22 20:49:11

+0

您能否詳細解釋一下您需要的信息?我正在使用excel ODBC連接,它將我帶到可以連接需要的東西的Microsoft Query中。 – Mowgli 2013-02-22 20:56:59

+0

哦,哦......你再次遇到麻煩,因爲沒有提供足夠的信息來幫助你......你太含糊。只能建議使用Between運算符和截斷日期進行比較。添加TRUNC(your_date),除非你需要,否則會截斷時間部分。 – Art 2013-02-22 20:57:48

回答

2

我想你只是在準備一個SQL查詢並將它發送給Oracle。我以爲你在調用Oracle存儲過程。

你的where子句中應該是這樣的:

where ("R"."TIME_STAMP" between ? and ?) 

,並在Excel中,你需要一個單元格輸入日期或日期/時間(假設它是A1),然後用公式=TEXT(A1, "MM-DD-yyyy hh:mm:ss")另一個小區。這是要在MS Query中鏈接的單元格。重複第二個參數。

+0

我試過它不起作用 – Mowgli 2013-02-22 22:00:07

+0

你是那個尋求幫助的人。如果你想要人們迴應,你需要告訴他們你有什麼錯誤或問題是什麼。說「它不工作」不會得到你的解決方案。 – ExactaBox 2013-02-22 22:01:28

+0

對不起,這很粗魯,我只是所有不同的可能性格式。你的解決方案有用,但沒有顯示正確日期的數據,它顯示了數據庫中第1行到最後一個數據的所有數據。 – Mowgli 2013-02-22 22:08:38

0

使用excel中的文本單元格將日期存儲爲dd Mmm YYYY(例如2014年2月2日)。

使用MSQuery中的參數選項(?)來引用文本單元格。

where ("R"."TIME_STAMP" between ? and ?)