Prüfen Sie, ob ein date in einem bestimmten timeraum gültig ist

Ich habe einen Tisch namens " Mitglieder "

Mit einer Spalte mit dem Namen " AffiliationDate (datetime, null)" 2016-04-30 00: 00: 00.000

Eine Zugehörigkeitsdauer läuft ab (Beispiel): 2016 – 07 – 01 bis 2017 – 06 – 30

Jetzt möchte ich sehen, ob ein Mitglied AffiliationDate für diesen timeraum gültig ist

Ich habe versucht, dies ohne Erfolg zu tun, in der Hoffnung auf einige Tipps Richtungen.

Vielen Dank im Voraus, Rick

Verwenden Sie einen CASE Ausdruck, um zu überprüfen, ob das AffiliationDate BETWEEN dem Bereich der data ist.

Abfrage

 SELECT *, CASE WHEN [AffiliationDate] BETWEEN '2016–07–01' AND '2016–07–30' THEN 'Valid' ELSE 'Invalid' END AS [Status] FROM [Members]; 

Versuche dies:

 DECLARE @StartDate DATETIME = (Define your start date) DECLARE @EndDate DATETIME = (Define your end date) SELECT * FROM Members WHERE AffiliationDate BETWEEN @StartDate AND @EndDate 

Grundsätzlich müssen Sie diese beiden variables nicht deklarieren. Der path, den ich hier benutzt habe, sollte die Abfrage klar machen. Die Methode Damien_The_Unbeliever sollte für Sie arbeiten. Außerdem können Sie die DATEADD() function verwenden, um Ihr Start- und Enddatum zu manupliieren (siehe https://msdn.microsoft.com/en-us/library/ms186819.aspx für Details). Hoffe das hilft.