2016-04-11 11 views
0

Günlerdir farkı 7 ötesinde olduğu sonuçlarını gösterir Erişim SQL ile bir sorgu yazmak çalışıyorum (hem 7 ve -7)Erişim SQL DATEDIFF fazla 7 gün

Bu işe düşündüm yanlış

Error in list of function arguments: '>' not recognized. 
Unable to parse query text. 

yapıyorum: Ben çalıştırmayı denediğinizde

SELECT DateDiff('d', EndDate1, EndDate2) > 7 AS EndDate 
FROM TableName 

Ancak aşağıdaki hatayı alıyorum? Eğer niyeti ise (aslında WHERE aittir ancak fiili SELECT sonuçları seçmek için koşullu mantığı koymak için çalışıyoruz

SELECT * FROM TableName WHERE ABS(DateDiff('d', EndDate1, EndDate2)) > 7 
+0

Sorgu Access'te bir boolean - '0' ve' -1 'döndürmelidir. Testim, '>' sembolünü ayrıştırmakta zorlanmadı. –

cevap

3

Böyle WHERE açıklamada bu koymak gerekir

SELECT iif(
      ABS(DateDiff('d', EndDate1, EndDate2)) > 7, 
      'out of bounds', 
      'in bounds' 
     ) AS DateRangeStatus 
: içinde/tarih sınırlarının out belki vardı kayıtları tespit etmek istiyorsa, Şimdi)

kayıtları filtrelemek için, her zaman gibi bir şey yapabileceğini

Bunun mutlaka sorunuza cevap vermediğini biliyorum, ama neler olduğunu açıklamakta acımasız olacağını düşündüm.

+3

Bu sadece tarihleri ​​+7 farkıyla döndürür. 'DateDiff'' Abs' içinde sarın ve eksi farklılıkları döndürecektir. –

+0

@ DarrenBartrup-Cook Ah, haha. Teşekkürler, bunu unuttun. –

+0

işe yaradı! teşekkür ederim! – Havoux

3

:

+0

Ahh Anladım, bilgi için teşekkürler! – Havoux