2010-07-16 78 views
2

可怕的標題是嗎?以爲我會看到如果堆棧溢出比我更快測試一些東西,而我從其他工作中得到一千中斷:)dotNet句柄參數化日期如何編程日期沒有時間但sql日期有時間

我正在更新舊的VB網絡應用程序,並試圖重構一些邏輯,因爲我去。該應用程序通過幾個表查找單個日期的數據,並將該視圖寫入文件。

在SQL編寫查詢我得到的

SELECT * FROM table 
WHERE CAST(FLOOR(CAST(table.date AS float))AS datetime) = '15-Jul-2010' 

相當於理想情況下我會使用

SELECT * FROM table WHERE [email protected] 

並將其作爲參數添加日期對象到System.Data.SqlClient的.SqlCommand實例

這兩個可比?我會得到我期望的結果嗎?

+0

什麼是table.date sql類型? – Carvellis 2010-07-16 09:27:20

回答

3

是的,兩者是可比較的,SqlClient庫會將.net類型轉換爲sql類型。你仍然會在你的SQL查詢截斷一部分時間,所以你可以使用類似:

SELECT * FROM table WHERE FLOOR(CAST(table.date AS float)) = FLOOR(CAST(@input AS float)) 

您不必回時間值轉換,但只是比較彩車。

+1

所以堆棧溢出更快! :-) – 2010-07-16 10:09:09