在SQL查询中使用参数时Crystal Reports“超出范围”错误

时间:2011-12-15 11:58:42

标签: sql crystal-reports

我正在使用CR 2008。

当日期硬编码时,此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

然后我收到一条错误消息说:

  

将varchar数据类型转换为dateTime字段会导致超出范围的值。

显然,Crystal Reports会自行进行一些转换。我可以关掉它吗?

谢谢!

编辑:修复它:字符10太长,字符长度11可以......

1 个答案:

答案 0 :(得分:0)

尝试使用Varchar(50)代替char(10),如:

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