Heim > Datenbank > MySQL-Tutorial > Wie kann ich den Datumsteil effizient aus einem DateTime-Wert in SQL Server extrahieren?

Wie kann ich den Datumsteil effizient aus einem DateTime-Wert in SQL Server extrahieren?

Susan Sarandon
Freigeben: 2025-01-13 07:55:42
Original
979 Leute haben es durchsucht

How Can I Efficiently Extract the Date Part from a DateTime Value in SQL Server?

Datum aus SQL Server-Datums-/Uhrzeitwert extrahieren

Die meisten SQL-Anwendungen verarbeiten Daten, die Datums- und Uhrzeitkomponenten enthalten. In einigen Fällen müssen wir jedoch nur den Datumsteil extrahieren und die Zeitinformationen verwerfen. Dies kann durch verschiedene Techniken in SQL Server effektiv erreicht werden.

Die effizienteste Methode

Obwohl es mehrere Methoden gibt, ist die effizienteste Methode zum Extrahieren von Datumsangaben aus datetime in SQL Server die Verwendung einer Kombination aus der Funktion DATEADD() und der Funktion DATEDIFF(). Diese Methode umfasst die folgenden Schritte:

  1. Verwenden Sie DATEDIFF(DAY, 0, ), um die Anzahl der Tage zwischen 0 und der angegebenen Datumszeit zu berechnen. Dieser Schritt berechnet effektiv den täglichen Offset von der Epoche (1. Januar 1900).
  2. Wenden Sie DATEADD() auf das Feld DAY an und verwenden Sie das Ergebnis von Schritt 1, um eine neue Datumszeit zu erhalten, deren Zeitkomponente auf 00:00:00 zurückgesetzt wird.

Zum Beispiel:

<code class="language-sql">SELECT DATEADD(DAY, DATEDIFF(DAY, 0, '2008-09-25 12:34:56'), 0)</code>
Nach dem Login kopieren

Im Vergleich zu anderen Optionen wie der Konvertierung mit CAST(FLOOR(CAST(... AS FLOAT)) AS DATETIME) oder CONVERT(DATETIME, CONVERT(VARCHAR(10), ..., 120), 120) ist dies Diese Methode hat sich als die schnellste und effizienteste Methode erwiesen.

Benchmark

Leistungstests an einem Datensatz mit über 130 Millionen Datensatzzeilen mit millisekundengenauen Zeitstempeln ergaben die folgenden Ergebnisse:

方法 CPU时间(ms)
纯SELECT 422
Floor-Cast 625
字符串转换 1953
DateAdd 531

Beachten Sie, dass die Leistung je nach Größe, Verteilung und anderen Faktoren Ihrer Daten variieren kann.

Das obige ist der detaillierte Inhalt vonWie kann ich den Datumsteil effizient aus einem DateTime-Wert in SQL Server extrahieren?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage