在这个地方计算几天

时间:2013-12-02 19:55:23

标签: sql crystal-reports

我正在研究水晶报告Xi我的问题在于我的报告我必须显示病人在一个地方花费的天数,他们可以转移任意次数或者他们甚至没有转移时间。因此,每当他们从入院转为出院时,我都要计算患者在那个地方度过的天数。

PatID    Admission     Discharge    Place   TransferPlace   TransferDate
121      05\06\2013    06\01\2013    102     105             05\10\2013
121                                  105     101             05\20\2013
121                                  101     108             05\25\2013

在这里,我刚刚创建了一个数据,病人首次转移到05 \ 10 \ 2013,从102到105,这意味着自从他被录取(4天)后他在102岁,而在105岁时他是10天。 我希望它应该清楚。**

2 个答案:

答案 0 :(得分:0)

尝试DATEDIFF()功能,它将返回日期差异

答案 1 :(得分:0)

要获取日期之间的差异,请使用DateDiff函数。在您的情况下,您希望获得日期之间的天数,您可以使用:

DateDiff(day, {Admission.Date}, {Transfer.Date})

{Admission.Date}和{Transfer.Date}是您在报告中使用的日期字段。

编辑:

所以我认为你可以使用Crystal中的PREVIOUS函数来完成这项工作。尝试类似:

if isNull(previous({Transfer.Date}) then
DateDiff(day, {Admission.Date}, {Transfer.Date}) else
DateDiff(day, previous({Transfer.Date}), {Transfer.Date})

你也可以使用NEXT功能走另一条路。