0

Report Builder 1.0 でレポートを作成し、開始日から終了日までの日数を計算する式を作成しました。そのために、私はそのDATEDIFFような方法で関数を使用しました:

DATEDIFF(DAY, TODAY(), column from table which has end date)

今日の日付が で 1 July 2013 、列が終了日を として送信している10 July 2013場合、DATEDIFF関数は「10 日」を返しますが、出力は値「9 日」として返す必要があります。9 日ではなく 10 日を返すのはなぜですか?

4

1 に答える 1

0

これを Sql Server で実行すると、9 日間有効になります。

select DATEDIFF(day, '2013-07-01', '2013-07-10')

これをデータセットとして使用する:

select CAST('2013-07-01' AS DateTime) AS StartDate, CAST('2013-07-10 23:59:59' AS DateTime) AS EndDate

次に、SSRS で次の式を使用します。

=DateDiff(DateInterval.Day, Fields!StartDate.Value, Fields!EndDate.Value)

時間コンポーネントを使用した場合でも、9 日になります。次の式を試してください。

=DateDiff(DateInterval.Day, DateTime.Today, Fields!EndDate.Value)

日付フィールドを表示して、取得する必要があると思われるものが実際に取得されるものであることを確認していますか? たとえば、キャッシュされたデータが返されていないことを確認してください。

于 2013-07-02T08:04:21.083 に答える