С номером форматирования установлен номер с 2-мя знаками после запятой, это выражение дает тот же результат, как ваш SQL заявление:
=Round(DateDiff(DateInterval.Second,Fields!FirstDate.Value,Fields!SecondDate.Value) /60/60, 0)/24
Вам нужно рассчитать количество секунд, и вокруг этого, как час значение для эмуляции поведения функции SQL DATEDIFF
, поскольку версия .NET рассматривает только полные единицы при сравнении дат. См. Этот вопрос для получения дополнительной информации: SQL Server DateDiff Vs .Net DateDiff.
Если вы просто использовали:
=DateDiff(DateInterval.Day,Fields!FirstDate.Value,Fields!SecondDate.Value)
, то вы получите результат 0.00
, пока нет полных дней между этими датами, а не 0.65
вы получите из заявления SQL.
Точно так же, если вы попробуете:
=DateDiff(DateInterval.Hour,Fields!FirstDate.Value,Fields!SecondDate.Value)/24
вы получите результат от 0.63
, так как количество полных часов между вашими финиками 15
и 15/24 = 0.625
.
Что такое блок 0.67? Часы? Дни? – grafgenerator
@grafgenerator это мой запрос в SQL heres, как я это сделал. CAST (DATEDIFF (hh, t.Route_Created, t.poended) /24.0 AS DECIMAL (5,2)) –