SQL Server: datediff-Funktion führte zu einem überlauf

Was hat dieser Fehler zu bedeuten und wie kann ich Sie vermeiden?

Die datediff-Funktion führte zu einem überlauf. Die Anzahl der dateparts zwischen zwei Datum/Uhrzeit-Instanzen ist zu groß. Versuchen datediff mit einem weniger präzisen datepart.

Ich bin nicht mit der datediff-Funktion. Ich mache diese Abfrage wo Timestamp ein datetime-Typ:

SELECT TOP 10 * from vSomeView 
WHERE TimestampUTC >= '2009-08-13 22:17:00'

Was könnte ich falsch gemacht?

Ich bin mit SQL Server 2008.

  • was passiert in der Ansicht?
  • Basierend auf den Namen "vSomeView", es klingt wie Sie der Abfrage anzeigen. Wenn ja, was ist die view-definition? Vielleicht ist es mit datepart?
  • Tut vSomeView verwenden der DateDiff?
  • Ich denke, timestamp ist ein reserviertes Wort ist.. aber es sieht aus wie Sie versuchen, es zu benutzen, wie den Namen einer Spalte aus? Geben Sie entweder den Namen der Tabelle, die erste, und/oder wählen Sie einen anderen Spaltennamen.
  • Der Blick ist zu tun, tun einen join zwischen zwei Tabellen und die Multiplikation einer anderen Spalte (nicht in dieser Abfrage) durch einen bestimmten Betrag. Die TimestampUTC Spalte nicht geändert und DateDiff wird nicht verwendet.
  • Keine Sorge... sind Sie sicher, dass die multplication nicht versehentlich verursacht den überlauf?
  • Sind die Basis-Tabellen mit berechneten Spalten? Sind Sie in der Lage, zu vernehmen die Tabellen erfolgreich, ohne den Blick? Oder die Ansicht ohne die where-Klausel?
  • Poste bitte die view-definition. Auch, überprüfen Sie bitte die referenzierten Objekte in den Blick, auf der off-chance, dass Sie auch die Ansichten oder die vielleicht sogar funktioniert.
  • Überprüfen Sie auch für Trigger auf der Basis von Tabellen. Manchmal auch skurrile Fehler zurückgegeben, da gibt es einen bug in einem trigger.
  • Gute Tipps für die Behandlung dieses.

InformationsquelleAutor | 2009-08-13
Schreibe einen Kommentar