2013-04-09 99 views
2

有沒有辦法得到昨天的日期。如果當前日期是星期一,我需要返回三個日期 - 星期日,星期六和星期五。有沒有辦法在單個查詢中完成此操作。我不太瞭解VBA,但如果這是解決問題的唯一方法,我願意讓自己的手變得骯髒。獲取昨天的日期,如果星期一得到週末範圍

Select * from [Purchase Order] where MyDate = 'Yesterdays date(s)' 

回答

4

WeekDay()功能會告訴你是否今天的日期,由Date()函數返回,是星期一。在IIf()表達式中使用該值,以便MyDate與當天不是星期一的昨天日期或MyDate星期一的前3個日期相匹配。

SELECT * 
FROM [Purchase Order] AS p 
WHERE 
    IIf(Weekday(Date()) = 2, 
     p.MyDate BETWEEN DateAdd('d',-3,Date()) 
      AND DateAdd('d',-1,Date()), 
     p.MyDate=DateAdd('d',-1,Date()) 
     ); 
+0

哇......真棒 – Luke101 2013-04-09 22:32:00

+0

很高興聽到這個消息。發佈這個答案後,我想知道如果查詢在週末運行會發生什麼。如果只在週一至週五運行,這沒關係。 – HansUp 2013-04-09 22:36:49

相關問題