我对DATEDIFF SQL函数有一个难题,从本质上讲,我有一个带有保险单等保险单的客户清单。我可以获得以下详细信息:
我正在尝试提取已达到保单期限的百分比,从本质上讲,我已使用DATEDIFF函数将以上内容转换为“天数”,以获取已过的天数和总计的天数。我想将它们除以得到%,但是输出在0
处出现我的公式,该部门的双方分别工作但不是一起工作,如下所示:
, (DATEDIFF(DD,DATEADD(YY,-1,P.RDAT#),GETDATE()))
/
DATEDIFF(DD,DATEADD(YY,-1,P.RDAT#),P.Rdat#)
[曾尝试进行转换/转换,认为这样做可以解决,但如果有人可以帮助,那将是徒劳的。
提前感谢
SQL Server执行整数除法,因此1/2
是0
而不是0.5
。我认为您想要:
(DATEDIFF(DAY, DATEADD(YEAR, -1, P.RDAT#), GETDATE())) * 1.0 /
DATEDIFF(DAY, DATEADD(YEAR, -1, P.RDAT#), P.Rdat#)
我不确定dateadd()
应该做什么。您也许可以简化此逻辑。为此,我建议使用示例数据和所需结果询问一个新问题。