2016-08-04 52 views
0

我需要一個SQL查詢的幫助,它將倒計時一天的項目過期目前SQL查詢顯示的過期日期,但我需要倒計時的日子。倒數必須顯示該項目在刪除之前有多少天,例如。 3,2,1同時保持到期日期。誰能幫我?SQL倒計時天數的項目過期

下面是我的代碼:

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') 
+0

請看看這個鏈接,並改寫你的問題,也標記SQL..https版本://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/ – TheGameiswar

+0

請更具體一些。什麼樣的倒計時? – gofr1

+0

@ gofr1我已編輯帖子,倒數必須顯示要走的天數。例如。對於未處理的項目,該項目將在14天內過期,因此它需要顯示14,13,12 – Pooveshin

回答

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')