Ich möchte den Wert der ersten Zeile von dem Wert der zweiten Zeile der Spalte _timestamp
(siehe unten) subtrahieren. _number
ist die Bestellspalte in meinen Daten.SQL - Operand Datentyp datetime2 ist ungültig für subtrahieren Operator
und das Ergebnis in einer neuen Spalte namens diff. Ich habe es mit der folgenden Abfrage
use dbtest
select t2._number, t2._timestamp,
coalesce(t2._timestamp -
(select t1._timestamp from dbo.tcp t1 where t1._number = t2._number + 1), t2._timestamp) as diff
from dbo.tbl t2
versucht, aber ich bekomme den folgenden Fehler.
Msg 8117, Level 16, State 1, Line 4
Operand data type datetime2 is invalid for subtract operator.
Irgendwelche Tipps würden geschätzt. Ich habe einen großen Datensatz und ich möchte es automatisch für die gesamte Spalte anwenden. Ich verwende SQL Server 2008.
Siehe datediff Funktion https://msdn.microsoft.com/en-us/library/ms189794.aspx – Serg
Verwendung datediff https://msdn.microsoft.com/en-us/library/ms189794.aspx Benötigen Sie nur zwei Zeilen oder alle Datensätze? – McNets
Nein, ich möchte es auf alle Datensätze anwenden (ca. 300.000 Zeilen) –