我想根據用戶提供的開始日期和結束日期參數從以前保存的傳感器數據中繪製圖表。我顯示用戶日曆圖標和默認開始日期(=DateAdd("d",-2,Today())
)和今天結束日期(=DateAdd("d", 0,Today())
)。SSRS的格式化日期時間(SQL Server 2008 R2)
日曆圖標顯示日期爲11.6.2016,但在數據庫中日期保存爲2016-06-11 00:00:05.217
。如果我使用下面的SQL查詢,則不返回任何內容,但如果我在Visual Studio查詢設計器中使用相同的內容,則會得到預期的數據。什麼是正確的語法?
SELECT Timestamp, Value, FieldSensorName
FROM MeasurementTable
WHERE (FieldSensorName IN (@ReportParameterSensorName))
AND (Timestamp > CONVERT(varchar, @ReportParameterStartDate, 121))
AND (Timestamp < CONVERT(varchar, @ReportParameterEndDate, 121))
我從具有多個選擇列表框的UI傳遞選定的傳感器的名稱(@ReportParameterSensorName
)。
您的參數是否爲日期類型?只需使用@ReportParameterStartDate和@ ReportParameterEndDate之間的時間戳。 –
是的,它是日期/時間類型,時間戳記在開始和結束之間。我用查詢設計器測試了相同的參數,並且沒有問題。 – RotatingWheel
如果您的參數和Timestamp列是日期/日期時間類型,則不需要轉換類型或套裝格式。 –