sql公式查询|(datediff/datediff)返回0

ne5o7dgx  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(603)

我有一个围绕datediff sql函数的难题,本质上我有一个拥有保险等保单的客户列表。我可以获得以下详细信息:
保单结束日期
策略开始日期
今天的日期
我试图提取策略术语已达到的百分比,本质上是为了得到这个值,我使用datediff函数将上面的值转换为“天”,以获得已过去的天数和总共的天数。我想除以这些得到%但是输出是0
我的公式,是双方分工分开但不在一起的,如下所示:

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

我试过铸造/转换,认为这是与此有关,但没有任何效果,如果有人可以帮助这将是超级。
提前谢谢

9lowa7mx

9lowa7mx1#

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() 是应该做的。你也许可以简化这个逻辑。为此,我建议用样本数据和期望的结果问一个新问题。

相关问题