1

使用Microsoft SQL Server Report Builder時,我可以在查詢設計器中執行查詢並檢索結果。查詢在日期中有一個where子句。查詢適用於查詢設計器,但不適用於MS SQL Server Report Builder

select * from table where DB_timestamp > to_date(:StartDate, 'mm/dd/yyyy') and DB_timestamp < to_date(:EndDate, 'mm/dd/yyyy') 

在執行時,我得到一個彈出,我在給定的格式輸入兩個變量(起始日期&結束日期)。現在,當我嘗試運行相同的生成報告時,我必須使用日曆選取器選擇兩個變量。 Altough日期所需格式顯示出來,我總是得到下面的錯誤:

An error occured during local report processing. 
Query execution failed for dataset 'XYZ'. 
ORA-01843: not a valid month 

什麼會導致查詢時的變量的壓延選擇器選擇在一個地方成功運行,但拋出一個錯誤?

+0

如果您的日期和月份低於12,該怎麼辦?同樣的錯誤?可以提交參數作爲日期而不是字符串? – vav

+1

也許文化環境搞砸了? (即SSRS發送dd/mm/yyyy) – Jeroen

+0

@Jeroen謝謝您的評論......它幫助我走向正確的方向。如果你張貼作爲答案,我會很樂意接受:) – Ahmed

回答

1

有mught是某種文化衝突的事情。如果SSRS發送的是dd/mm/yyyy,並且你的分貝預計爲mm/dd/yyyy,那麼事情就不會如預期那樣工作,甚至在某些日期會崩潰。

+0

謝謝Joren。問題是日期格式。我的數據庫期待'DD-MON-RR'! – Ahmed

0

我會從where子句中刪除to_date函數,例如:

where DB_timestamp > :StartDate and ...

相關問題