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

SQL Formula Query | (DATEDIFF / DATEDIFF) Returning 0

我对 DATEDIFF SQL 函数有一个难题,本质上我有一个客户列表,这些客户有保单,例如保险。我可以获得以下详细信息:

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

我正在尝试提取保单期限已达到的百分比,主要是为了得到这个我已经使用 DATEDIFF 函数将上面的内容转换为 "Days" 以获取已经过去了多少天以及多少天总天数。我想将它们相除以获得 % 但输出为 0

我的公式,分工的双方分开而不是一起工作如下:

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

尝试过转换/转换,认为这与此有关,但无济于事,如果有人能提供帮助那就太棒了。

提前致谢

SQL 服务器进行整数除法,所以 1/20 而不是 0.5。我想你想要:

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

我不确定 dateadd() 应该做什么。您也许可以简化此逻辑。为此,我建议您提出一个包含样本数据和预期结果的新问题。