2017-01-30 146 views
-1

我有两个日期(运行日期)和(到期日)。我需要找到最大的违约日期,该日期应该是运行日期和截止日期之间的最大(最长)天数。SQL查找两个日期之差的最大值

逻辑上我想这是max (datedif (day, run date, date due)),但是,这段代码似乎并没有在SQL中运行。

请帮

+2

请标记您的RDBMS。 –

+0

哪一天最棒? 语法 'code'DATEDIFF(datepart,startdate,enddate) startdate应小于或等于enddate。 –

+0

请发布您的错误消息,并发布***您运行的实际查询***。不要重新输入,复制和粘贴。你在SQL中有多个拼写错误('datedif','run date','date due')。 – Schwern

回答

0

你可能在找这个脚本

SELECT TOP(1) *,DATEDIFF(day,[run date],[date due])) AS DDiff 
FROM TableName 
ORDER BY DDiff DESC 
+0

我正在使用Microsoft SQL Server Management Studio。 – user7488249

+0

我正在使用Microsoft SQL Server Management Studio。 JaydipJ,我正在尝试类似于你的建议,但是我收到了我试图运行的主代码没有错误,只是继续运行。我运行的主要代码是'Select MAX(datediff(Day,a。[run date],a。[next due])作为DaysDelinq \t from Loanlevel_Database.dbo.Loanlevel_Archive a with(nolock)' – user7488249