我正在使用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可以......
答案 0 :(得分:0)
尝试使用Varchar(50)
代替char(10)
,如:
CONVERT(datetime,Cast({?startdate} AS varchar (50)), 105)