2017-01-30 2 views
0

Ich muss die Anzahl der Tage zwischen zwei Datumsfeldern basierend darauf berechnen, ob eines der Daten null ist oder nicht. Wenn die Datumsvariable null ist, muss ich das heutige Datum berücksichtigen. Bitte helfen Sie. SAS-Benutzer versucht, die Abfrage für andere Benutzer in der Access 2010-Datenbank einzurichten. Ich suche nach SQL-Sprache, die in meine Abfrage eingefügt werden soll. Vielen Dank!Datumsberechnung innerhalb der If-then-Anweisung

ex.

if dbo.nameoftable[date1] <> " " then time = [date1] - [date2] 
elseif dbo.nameoftable[date1] = " " then time = ?todays date - [date2]endif; 

Vielen Dank !!

+0

Es ist unklar, was Sie fordern. Sie haben keine Sprache markiert, und obwohl Sie "Bitte helfen Sie mit SQL" gesagt haben, sieht das nicht wie SQL aus. Oder wenn es so ist, ist nicht klar, mit welchem ​​SQL-Geschmack Sie arbeiten. Bitte lesen Sie [Wie stelle ich eine gute Frage?] (Http://stackoverflow.com/help/how-to-ask), dann kommen Sie hier zurück und bearbeiten Sie Ihre Frage, damit wir Ihnen helfen können. Vielen Dank. –

+0

Hallo Matt, ich entschuldige mich für irgendeine Verwirrung. Ich bin ein kompetenter SAS-Benutzer, der aufgefordert wurde, eine Abfrage für andere Benutzer in Access zu erstellen. Ich bitte um Hilfe mit der Sprache, um eine Wenn-Dann-Anweisung in Access zu erstellen. Wenn ich Zugriff habe, sehe ich, dass Sie sich die zugrunde liegende SQL-Sprache ansehen können. Ich verwende Access 2010. – Kathy

Antwort

0

Sie brauchen keine Wenn-Dann-Logik. Verwenden Sie einfach die Nz-Funktion, mit der Sie einen Wert angeben können, der verwendet werden soll, wenn das Feld null ist.

Sie sollten auch DateDiff anstelle von - verwenden, um explizit anzugeben, mit welchen Einheiten Sie arbeiten.

Verwenden Sie für das aktuelle Datum die Funktion Date. Beachten Sie, dass das den aktuellen Tag in der lokalen Zeitzone des Computers zurückgibt, auf dem die Abfrage ausgeführt wird.

es Putting alles zusammen:

SELECT DateDiff('d', [date2], Nz([date1], Date())) AS [DifferenceInDays] FROM nameoftable;