Heim >Datenbank >MySQL-Tutorial >Wie rundet man HH:MM-Zeitwerte in T-SQL auf das nächste 15-Minuten-Intervall?

Wie rundet man HH:MM-Zeitwerte in T-SQL auf das nächste 15-Minuten-Intervall?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-10 14:12:42758Durchsuche

How to Round HH:MM Time Values to the Nearest 15-Minute Interval in T-SQL?

Runden Sie HH:MM-Zeitwerte auf das nächste 15-Minuten-Intervall in T-SQL

Bei der Datenanalyse ist das Runden von Zeitwerten auf das nächste angegebene Intervall eine häufige Aufgabe. In diesem Beispiel besteht unser Ziel darin, die HH:MM-Werte auf das nächste 15-Minuten-Intervall zu runden.

Methoden, die keine benutzerdefinierten Funktionen erfordern

Während die Verwendung benutzerdefinierter Funktionen (UDFs) oder CASE-Anweisungen ein praktikabler Ansatz ist, gibt es elegantere Möglichkeiten, deren Verwendung zu vermeiden. Eine Möglichkeit besteht darin, die Funktionen DATEADD und DATEDIFF zu verwenden:

<code class="language-sql">select dateadd(minute, datediff(minute,0,GETDATE()) / 15 * 15, 0)</code>

Hier repräsentiert GETDATE() den aktuellen Datums- und Uhrzeitwert. Die Funktion DATEDIFF berechnet die Differenz in Minuten zwischen der aktuellen Uhrzeit und einem festen Referenzdatum von 0. Diese Differenz haben wir dann durch 15 geteilt und mit 15 multipliziert, um das nächste 15-Minuten-Intervall zu erhalten. Schließlich addiert die Funktion DATEADD dieses Intervall zum Referenzdatum, was zu einem gerundeten Zeitwert führt.

Notizen

Diese Methode eignet sich für Fälle, in denen nur Minuten relevant sind und Sekunden ignoriert werden können. Aufgrund möglicher Überlaufprobleme können Datumsangaben bis zum Jahr 5500 verarbeitet werden. Durch die Verwendung eines bestimmten Datums (z. B. „01.01.2009“) oder des heutigen Datums als Referenzpunkt kann diese Einschränkung jedoch umgangen werden.

Beispiel

Wenn Sie beispielsweise mit der oben beschriebenen Methode einen Zeitstempel wie „00:08:00“ auf das nächste 15-Minuten-Intervall runden, erhalten Sie „00:15:00“. Ebenso wird „00:07:00“ auf „00:00:00“ gerundet.

Das obige ist der detaillierte Inhalt vonWie rundet man HH:MM-Zeitwerte in T-SQL auf das nächste 15-Minuten-Intervall?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn