2011-12-15 71 views
0

我使用CR 2008的Crystal Reports「超出範圍」的錯誤在SQL查詢中使用參數時

這MSSQL當日期被硬編碼這樣的查詢工作:

select * 
from workedHours 
where myDateTime.startdate > CONVERT(datetime,Cast('25-12-2011' AS Char (10)), 105) 

但當我使用參數:

select * 
from workedHours 
where myDateTime.startdate > CONVERT(datetime,Cast({?startdate} AS Char (10)), 105) 

,並提供日期如下:

26-12-2011 

然後我得到一個errror消息說:

varchar數據類型以日期時間字段的轉換導致外的範圍內的值。

顯然,Crystal Reports自己做了一些轉換。我可以關閉它嗎?

謝謝!

編輯:固定它的:char 10太短長度焦炭11是好的...

+0

是`{STARTDATE}`一日期參數或字符參數? – 2011-12-15 12:19:19

+0

這是一個日期參數 – jorrebor 2011-12-15 12:49:25

回答

0

嘗試使用Varchar(50)而不是像char(10)

CONVERT(datetime,Cast({?startdate} AS varchar (50)), 105)