比较If语句中的日期

时间:2014-06-27 19:09:14

标签: date if-statement reporting-services reportbuilder3.0

我正在尝试比较表达式中的日期。如果Closed_Date匹配今天的日期(我正在使用Today()),那么它将在框中输出1,否则输出0.到目前为止我有这个但它似乎不起作用:

=IIF(Fields!Closed_Date = Mid(Today(),1,9), "1", "0")

我使用Mid的原因是获得月,日和年。我不希望时间包括在内。有没有办法可以用这个或其他方法比较日期?

2 个答案:

答案 0 :(得分:2)

Today()实际上会在今天午夜返回日期,因此要将您的日期与今天进行比较,您需要从Closed_Date取消时间。我建议使用DateValue功能,因为它会将时间设置为午夜返回日期信息,以便于比较:

=IIF(DateValue(Fields!Closed_Date.Value) = Today(), "1", "0")

答案 1 :(得分:1)

尝试这样的事情:

=IIF(
      Format(CDate(Fields!Closed_Date), "MM/dd/yyyy") = Today()
      , "1", "0"
     )

=IIF(
      FormatDateTime(Fields!Closed_Date, DateFormat.ShortDate) = Today()
      , "1", "0"
     )

避免使用Mid之类的字符串函数和日期。 SSRS中有许多与日期相关的功能。