Heim >Datenbank >MySQL-Tutorial >Wie rundet man DateTime-Werte in T-SQL auf die nächste Minute oder Stunde?
Datums-/Uhrzeitwert in T-SQL auf die nächste Minute oder Stunde runden
T-SQL bietet integrierte Funktionen zum Runden von Datums-/Uhrzeitwerten auf die nächste Minute oder Stunde. Gerundete Werte sind für die Datenanalyse und Berichtserstellung wertvoll.
Um einen Datums-/Uhrzeitwert auf die nächste Minute zu runden, verwenden Sie die folgende Formel:
<code class="language-sql">dateadd(mi, datediff(mi, 0, @dt), 0)</code>
Wobei @dt
den zu rundenden Datums-/Uhrzeitwert darstellt.
Wenn Sie beispielsweise den Wert „22.09.2007 15:07:38.850“ auf die nächste Minute runden, erhalten Sie „22.09.2007 15:07:00.000“.
Um einen Datums-/Uhrzeitwert auf die nächste Stunde zu runden, verwenden Sie:
<code class="language-sql">dateadd(hour, datediff(hour, 0, @dt), 0)</code>
Diese Formel schneidet Sekunden und Minuten effektiv von einem Datum/Uhrzeit-Wert ab. Im gleichen Beispiel ergibt das Runden von „22.09.2007 15:07:38.850“ auf die nächste Stunde „22.09.2007 15:00:00.000“.
Darüber hinaus kann eine Auf- oder Abrundung erreicht werden, indem vor dem Abschneiden eine halbe Minute oder eine halbe Stunde zum Datum/Uhrzeit-Wert addiert wird.
Beispiel:
<code class="language-sql">select dateadd(mi, datediff(mi, 0, dateadd(s, 30, @dt)), 0) select dateadd(hour, datediff(hour, 0, dateadd(mi, 30, @dt)), 0)</code>
Das Ergebnis ist:
<code>2007-09-22 15:08:00.000 2007-09-22 15:00:00.000</code>
Vor der Einführung des Datumsdatentyps in SQL Server 2008 wurde eine ähnliche Technik verwendet, um den Stunden-, Minuten- und Sekundenteil eines Datums-/Uhrzeitwerts abzuschneiden, um nur das Datum zu erhalten. Die Idee besteht darin, die Anzahl der Tage zwischen einem Datum und einem festen Zeitpunkt zu bestimmen (0, was 1900-01-01 00:00:00.000 bedeutet). Durch Addition dieser Anzahl an Tagen zu einem festen Zeitpunkt erhält man das Originaldatum mit der Uhrzeit 00:00:00.000.
Das obige ist der detaillierte Inhalt vonWie rundet man DateTime-Werte in T-SQL auf die nächste Minute oder Stunde?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!