Heim > Datenbank > MySQL-Tutorial > Wie rundet man T-SQL-DateTime-Werte auf die nächste Minute oder Stunde?

Wie rundet man T-SQL-DateTime-Werte auf die nächste Minute oder Stunde?

DDD
Freigeben: 2025-01-11 10:09:42
Original
876 Leute haben es durchsucht

How to Round T-SQL DateTime Values to the Nearest Minute or Hour?

T-SQL-Rundungsmethode für Datetime-Werte mit Genauigkeit auf Minuten oder Stunden

SQL Server bietet integrierte Funktionen zum einfachen Runden von Datums-/Uhrzeitwerten auf die nächste Minute oder Stunde. Beispielsweise können Sie für den angegebenen Datum-Uhrzeit-Wert „22.09.2007 15:07:38.850“ die folgende Funktion verwenden:

<code class="language-sql">-- 舍入到最近的分钟
SELECT DATEADD(mi, DATEDIFF(mi, 0, @dt), 0)

-- 舍入到最近的小时
SELECT DATEADD(hour, DATEDIFF(hour, 0, @dt), 0)</code>
Nach dem Login kopieren

Diese Methoden kürzen Sekunden bzw. Minuten, um den gewünschten Rundungseffekt zu erzielen. Wenn Sie auf- oder abrunden müssen, können Sie vor dem Abschneiden eine halbe Minute bzw. eine halbe Stunde addieren bzw. subtrahieren:

<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>
Nach dem Login kopieren

Vor der Einführung des Datentyps date in SQL Server 2008 konnte die obige Methode verwendet werden, um den Zeitanteil vom Typ datetime abzuschneiden, sodass nur der Datumsanteil übrig blieb. Dies funktioniert, indem die Anzahl der Tage zwischen Datum und Uhrzeit und einem festen Zeitpunkt (0, steht für 1900-01-01 00:00:00.000) berechnet und diese Zahl dann zum festen Zeitpunkt addiert wird:

<code class="language-sql">-- 截断时间部分以仅获取日期
SELECT DATEADD(day, DATEDIFF(day, 0, @dt), 0)</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie rundet man T-SQL-DateTime-Werte auf die nächste Minute oder Stunde?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage