Heim > Datenbank > MySQL-Tutorial > Wie kann ich nur den Zeitanteil von DATETIME-Werten in SQL Server effizient vergleichen?

Wie kann ich nur den Zeitanteil von DATETIME-Werten in SQL Server effizient vergleichen?

Patricia Arquette
Freigeben: 2024-12-26 01:08:09
Original
294 Leute haben es durchsucht

How Can I Efficiently Compare Only the Time Portion of DATETIME Values in SQL Server?

Vergleichen von Zeitwerten in SQL Server

Beim Vergleichen von Zeitwerten, die in einem Datum/Uhrzeit-Feld gespeichert sind, ist es wichtig zu überlegen, ob die Datumskomponente vorhanden sein sollte in den Vergleich einbezogen. Im bereitgestellten Szenario möchte der Benutzer nur den Zeitteil ohne das Datum vergleichen.

Die vorgeschlagene Abfrage mithilfe der CONVERT-Funktion zum Konvertieren der Zeitwerte in eine Zeichenfolge funktioniert möglicherweise, ist jedoch möglicherweise ineffizient. Eine optimalere Lösung besteht darin, die interne Gleitkommadarstellung von Datum/Uhrzeit-Werten in SQL Server zu nutzen.

Um einen reinen Zeitvergleich effizient durchzuführen, können wir:

  1. Datum/Uhrzeit konvertieren Werte, die mithilfe der CAST-Funktion in Gleitkommazahlen umgewandelt werden sollen.
  2. Subtrahieren Sie den Bruchteil jeder Gleitkommazahl (Zeitkomponente) mit der MOD Operator.

Zum Beispiel bei zwei Datums-/Uhrzeitwerten @first und @second:

DECLARE @first DATETIME = '2009-04-30 19:47:16.123';
DECLARE @second DATETIME = '2009-04-10 19:47:16.123';

SELECT (
    CAST(@first AS FLOAT) - FLOOR(CAST(@first AS FLOAT))
) - (
    CAST(@second AS FLOAT) - FLOOR(CAST(@second AS FLOAT))
) AS Difference;
Nach dem Login kopieren

Dieser Ansatz vergleicht die Zeitwerte direkt, ohne die Datumskomponente einzubeziehen, was eine genaue und effiziente Bereitstellung ermöglicht Ergebnisse.

Das obige ist der detaillierte Inhalt vonWie kann ich nur den Zeitanteil von DATETIME-Werten in SQL Server effizient vergleichen?. 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