SSRS - 将varchar数据类型转换为日期时间数据类型会导致超出范围的值。 - 转换为YYYY-MM-DD时

时间:2013-10-23 19:31:42

标签: sql datetime reporting-services

我在SSRS中运行查询,默认日期选择器日期格式为DD / MM / YYYY。但是,实际数据库中的日期是YYYY-MM-DD格式。我试图将这些日期转换如下,但我收到消息“将varchar数据类型转换为日期时间数据类型导致超出范围的值”。

Col1 BETWEEN convert(varchar, '22/10/2013 00:00:00', 120) AND convert(varchar, '22/10/2013 23:59:59', 120)

我在找出错误触发的原因时遇到了一些麻烦。 IE浏览器。 22/10/2013是一个有效的日期格式,所以我认为它应该很容易转换成2013-10-2013?

但我想我错过了什么!

1 个答案:

答案 0 :(得分:2)

DateTime值没有格式 - 您在显示时应用格式。您应该只能将参数设置为DateTime类型,并将其传递给查询而不进行任何字符串转换。