Hi Ich versuche, den Unterschied zwischen zwei Spalten von datetime2 Typ zu berechnen.
Allerdings scheint SQL Server (2012) Folgendes nicht zu mögen:
%Vor%Jetzt funktioniert es, wenn ich es auf einen Datetime-Typ umsetze:
%Vor%Allerdings verliere ich die Genauigkeit, wenn ich es auf datetime umsetze (beachte die 3 Dezimalstellen oben). In diesem Fall brauche ich eigentlich alle 5 Dezimalpunkte. Gibt es eine Möglichkeit, das Intervall zwischen zwei datetime2 Spalten zu erhalten und immer noch 5 Dezimalpunkte Genauigkeit zu halten? Danke.
Sie können einfach DateDiff
verwenden%Vor%Gibt die Anzahl (signed integer) des angegebenen Datums zurück Grenzen zwischen dem angegebenen Startdatum und Enddatum.
Leider versuchen Sie, die erforderliche Präzision zu erhalten:
%Vor%führt zu einem Überlauffehler:
%Vor%Eine Möglichkeit, die gewünschte Genauigkeit zu erzielen, besteht darin, die granularen Zeitkomponenten (Tage, Stunden, Minuten, Sekunden usw.) schrittweise zu zerlegen und diese mit DateAdd () von den Werten zu subtrahieren, z. B.
%Vor% Um den Unterschied zwischen zwei Daten zu finden, müssen Sie die Funktion DATEDIFF
Tags und Links sql-server datetime2 intervals