2016-07-25 4 views
-5

Was macht dies in einer SQL-Abfrage? Kann jemand das erklären? Was repräsentiert die .5-?Sql Abfrage Informationen

WHERE ScheduleEntry.ScheduleDate> = getdate() und ScheduleEntry.ScheduleDate < = getDate() +.50

+0

Ihre Fragen nicht klar sind. Erklären Sie mit mehr Details –

+0

'GETDATE() + .50' fügt der aktuellen Zeit einen halben Tag hinzu. Daher wird die Abfrage alle Datensätze abrufen, in denen sich das 'ScheduleDate' zwischen jetzt und 12 Stunden befindet. – Siyual

+0

Idealerweise würden Sie, um dem aktuellen Datum 12 Stunden hinzuzufügen, 'DATEADD (HOUR, 12, GETDATE())' 'verwenden, da' GETDATE() + 0.5' einfach mehrdeutig ist, wenn Sie nicht wissen, dass es Tage repräsentiert. * "0,5 was?" – Siyual

Antwort

1

Denken Sie an Datum Einheit als 1 Tag. 0,50 eines Tages ist 1/2 eines Tages. Dies liefert also alles, was ScheduleDate hat, innerhalb von einem halben Tag ab der Uhrzeit getdate().

0

Es beschränkt die Zeilen, die in Zeilen zurückgegeben werden, in denen sich die ScheduleEntry.ScheduleDate in der Zukunft befindet und wo es nicht mehr als 0,50 Einheiten später als das aktuelle Datum ist. Um herauszufinden, wie viel Zeit .50 Einheiten gleich, laufen die folgenden auf der Konsole:

SELECT getDate() 
SELECT getDate() +.50 

Der Unterschied zwischen den Daten sollten Sie den Unterschied erkennen. Höchstwahrscheinlich ist es ein halber Tag.

0

GETDATE gibt das aktuelle Datum und die aktuelle Uhrzeit in SQL zurück. Sie können das Datum um "Tage hinzufügen" ergänzen. Im Allgemeinen ist es besser, DATE_ADD zu verwenden, anstatt direkt hinzuzufügen, und es ist wahrscheinlich einfacher zu lesen. Das Hinzufügen von 0,5 entspricht dem Hinzufügen eines halben Tages (oder 12 Stunden).

0

Zur besseren Veranschaulichung ist der 0,5 einen halben Tag

SELECT DateDiff(HH,getDate(),getDate() +.50) 

12 Stunden Kosten