[英]SQL query to find last date
我們將生產的第二天在數據庫中輸入生產數據,我正在使用以下查詢來獲取昨天的數據。
查詢工作正常,直到周末之后,由於星期一沒有生產,星期一不顯示任何內容。
無論如何,我可以更改查詢以顯示生產的最后一天。
SELECT Date, ProductCode
FROM Production
WHERE (ProductCode In ('35032','40112-I','41212-I','50112','824-5'))
AND (Date=Dateadd(dd,-1,Convert(char(8),Current_timestamp,112)))
一個簡單的解決方案,使用CASE
語句檢查是否為星期一,如果是,則減去3天而不是1天。
SELECT Date, ProductCode
FROM Production
WHERE (ProductCode In ('35032','40112-I','41212-I','50112','824-5'))
AND (Date=Dateadd(Day, Case When DatePart(WeekDay, Current_Timestamp) = 2 Then -3 Else -1 End, Convert(Date, Current_Timestamp)))
另一個(更精確的)解決方案是將表中的最新Date
拉出,而不是今天的Date
:
SELECT Date, ProductCode
FROM Production
WHERE (ProductCode In ('35032','40112-I','41212-I','50112','824-5'))
AND (Date= (Select Max(Date) From Production Where Date <> Convert(Date, Current_Timestamp)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.