0

我正在使用 SSRS 2008。我的报告中有一个包含日期/时间列 (DOB) 的表格。我也有一个日期/时间参数(MyDate)。我正在尝试在我的数据集上设置一个过滤器,例如

FormatDateTime(Fields!DOB.Value,2)<=FormatDateTime(Parameters!MyDate.Value,2)

它没有正确过滤我的表格。但是如果我删除 FormatDateTime 函数,那么它工作正常。我想了解这里有什么问题。

4

1 回答 1

2

FormatDateTime将返回一个字符串,因此您不再比较日期,而是比较它们的字符串表示形式。

比较日期02-Feb-201210-Oct-2012将给出与比较字符串2/2/2012和不同的结果10/10/2012

如评论中所述,您似乎只是想从日期中删除时间部分?

像这样的东西应该可以工作,即将字符串转换回日期。

CDate(FormatDateTime(Fields!DOB.Value,2)) <= CDate(FormatDateTime(Parameters!MyDate.Value,2))

但这只是一个建议,有很多方法可以做到这一点。

于 2013-04-10T13:16:02.180 回答