2016-06-17 9 views
0

In Ordnung, ich habe jede einzelne Option nach SQL im Zusammenhang mit dem Sortieren einer Datumsspalte durchsucht. Die meisten von ihnen sagen, dass es nicht korrekt sortieren, weil die Spalte vom Typ nvarchar ist. Das ist nicht mein Fall.SQL Server 2012 - Datum nicht wie erwartet sortiert

Meine Tabelle und Abfrage:

my actual database table as well as the query I used.

Injektion beiseite, wie Sie im Bild sehen können, möchte ich die Spalte, die ich im Bild in der richtigen Reihenfolge ausgewählt haben - die 7. Spalte (Ich entschuldige mich für den nativen Spaltennamen); es ist jedoch nicht. Genauer gesagt ist diese 1660 Zeile nicht korrekt sortiert, während alle anderen Zeilen in der Zeile bleiben.

Ich versuchte aufsteigende Reihenfolge, und wie Sie es erraten können, ist es diese 1660 Zeile, die in der letzten unabhängig vom Wert der anderen Zeile bleibt.

Ich habe auch versucht, nach anderen Spalten mit ähnlichen Typ - 6., 8. und 9., und sie funktionieren gut.

Die Zeile 1660 hat keine spezielle Spalte, ihr Datum ist nicht speziell. Es ist nur zwischen vielen anderen Reihen, zwischen Juni und Juli.

Diese Zeitspalten werden mithilfe von vb.net über einen DatetimePicker-Wert eingefügt.

So kann mir jemand Licht in diesen Fall, warum, wie, oder was ist die Ursache für diese Störung ... Es bringt mich verrückt.

Antwort

3

Ihre 1660 Zeile hat ein Datum im Jahr 2106, nicht im Jahr 2016. Dies wird aus dem Blick auf das Bild offensichtlich. Es ist kein Formatierungsfehler oder Sortierfehler; Es ist ein Tippfehler in Ihren tatsächlichen Daten.

+0

wow, danke fürs Zeigen. Ich muss blind sein, da ich erwartet habe, dass mein Benutzer einfach das Richtige einfügt. Ich denke, ich muss einen Check machen, bevor ich die Daten in die Datenbank überlasse. Ja, nochmals vielen Dank, ich verdiene ein -1 dafür. – HaPhan