用于计算项目过期天数的SQL

时间:2016-08-04 07:02:13

标签: c# visual-studio sql-server-2012

我需要一个SQL查询的帮助,该查询将计算项目到期的天数,目前SQL查询显示过期日期,但我也需要倒计时。倒计时必须显示项目在删除之前有多少天,例如。 3,2,1同时保持到期日。谁能帮我?

以下是我的代码:

SELECT [Sales Order Number], 
       [Customer Code], 
       [Customer Name], 
       [Total Weight], 
       [Order Total (Incl)], 
       [Account Terms], 
       [Credit Limit], 
       Status, 
       Autoindex, 
       [Document State],
       Date,
       CASE[Document State]
              WHEN 'Unprocessed' THEN DATEADD(day, 14, Date)
              WHEN 'Partially Processed' THEN DATEADD(day, 7, Date)
         END AS[Expiration Date]
FROM ZS_vwSOA_PendingApproval 
WHERE[Document State] IN('Unprocessed', 'Partially Processed') 

1 个答案:

答案 0 :(得分:1)

就像我在评论中所说,使用DATEDIFF

SELECT [Sales Order Number], 
       [Customer Code], 
       [Customer Name], 
       [Total Weight], 
       [Order Total (Incl)], 
       [Account Terms], 
       [Credit Limit], 
       Status, 
       Autoindex, 
       [Document State],
       Date,
       CASE[Document State]
              WHEN 'Unprocessed' THEN DATEADD(day, 14, Date)
              WHEN 'Partially Processed' THEN DATEADD(day, 7, Date)
         END AS[Expiration Date],
       DATEDIFF(DAY,GETDATE(),
       CASE[Document State]
              WHEN 'Unprocessed' THEN DATEADD(day, 14, Date)
              WHEN 'Partially Processed' THEN DATEADD(day, 7, Date)
         END) as [Countdown]
FROM ZS_vwSOA_PendingApproval 
WHERE[Document State] IN('Unprocessed', 'Partially Processed')