2012-09-04 45 views
0

我在DB表EntryDate 2列和它的類型是datetime,另一個EntryTimeTime誤差變換數據類型爲varchar爲datetime

,我已經創建了一個PROC即需要日期時間PARAM @DatetimeParam它像

select * from [TableName] where EntryDate+EntryTime <[email protected] 

它不起作用將數據類型varchar轉換爲datetime時出錯。

我正在使用sql2008和c#

+0

你爲什麼不保存在'EntryDate'時間爲好,因爲它的類型'DateTime' – Habib

+0

你是如何調用存儲過程?問題不在於存儲過程本身,而在於你如何調用它。 –

+0

datetime +時間應該沒問題,那麼@DatetimeParam的值是多少? –

回答

1

對於初學者您的表結構是多餘的。您的DateTime列可以存儲日期&時間分量,但即使如此。你必須在你的C#代碼中有一個錯誤,因爲如果@DateTimePAram是一個有效的值,那麼你的sql就可以工作。

use TempDB 

CREATE TABLE #temp (a DateTime, b Time) 
INSERT INTO #temp (a,b) values ('2012-01-01', '12:00:00.000') 
SELECT * FROM #temp where a+b < getdate() 
DROP TABLE #temp 
+0

我知道有一個歸因於業務需求和應用程序設計的必要條件是必須具有EntryDate和EntryTime列 – hatem

+0

好。然後發佈你的C#代碼,調用這個存儲過程。我猜你是以無效格式傳遞你的輸入。 –

相關問題