SQL公式查询| (DATEDIFF / DATEDIFF)返回0

问题描述 投票:-1回答:1

我对DATEDIFF SQL函数有一个难题,从本质上讲,我有一个带有保险单等保险单的客户清单。我可以获得以下详细信息:

  1. 政策结束日期
  2. 政策开始日期
  3. 今天的日期

我正在尝试提取已达到保单期限的百分比,从本质上讲,我已使用DATEDIFF函数将以上内容转换为“天数”,以获取已过的天数和总计的天数。我想将它们除以得到%,但是输出在0

处出现

我的公式,该部门的双方分别工作但不是一起工作,如下所示:

,   (DATEDIFF(DD,DATEADD(YY,-1,P.RDAT#),GETDATE()))
    /
    DATEDIFF(DD,DATEADD(YY,-1,P.RDAT#),P.Rdat#)

[曾尝试进行转换/转换,认为这样做可以解决,但如果有人可以帮助,那将是徒劳的。

提前感谢

sql datediff
1个回答
2
投票

SQL Server执行整数除法,因此1/20而不是0.5。我认为您想要:

(DATEDIFF(DAY, DATEADD(YEAR, -1, P.RDAT#), GETDATE())) * 1.0 /
 DATEDIFF(DAY, DATEADD(YEAR, -1, P.RDAT#), P.Rdat#)

我不确定dateadd()应该做什么。您也许可以简化此逻辑。为此,我建议使用示例数据和所需结果询问一个新问题。

© www.soinside.com 2019 - 2024. All rights reserved.