在表中,我有一個名爲BillDate (Datetime)
的列。日期時間以格式YYYY-MM-DD
(例如:2012-01-01 00:00:00.000
)存儲。現在我想檢索日期時間值範圍內的值。當我使用的查詢,如下我無法得到的結果是:如何將Datetime值作爲參數傳遞給存儲過程?
SELECT * FROM RequestHeader
WHERE
CONVERT(VARCHAR, RH.BillDate ,105) BETWEEN CONVERT(VARCHAR, @FromDate,105)
AND CONVERT(VARCHAR,@ToDate , 105)
@FromDate is passed as : '2012-01-01'
@ToDate is passed as : '2012-01-01'
如果您不使用表列和參數上的轉換,會發生什麼情況? – Ric 2012-01-01 17:51:08
「日期時間存儲格式爲YYYY-MM-DD」 - 不,它不是。無論內部表示如何,它都存儲爲「DateTime」。不要將格式與存儲混淆。 – Oded 2012-01-01 17:51:14
爲什麼你傳遞字符串參數而不是'DateTime'? – Oded 2012-01-01 17:53:41