2017-11-24 2 views
0

Ich füge eine einzelne Zeile paar mal in SQL Server. Ich habe gerade festgestellt, dass meine Datetime-Spalte die Zeit erfasst, wenn Zeilen eingefügt werden, aber sie sind nicht in Ordnung. Zum BeispielSQL Server Datetime Auftrag

2017-11-24 10: 21: 16,170

2017-11-24 10: 21: 35,180

2017-11-24 10: 21: 49,170

2017.11.24 10: 22: 08,187

2017-11-24 10: 21: 24,180

2017-11-24 10: 21: 57,170

2017.11.24 10: 21: 07,840

SPITZE eine erste Reihe und allerletzte ist letzte Reihe ist. Ich erwarte, dass die erste Zeile immer die Zeile ist, wenn die Daten zum ersten Mal eingefügt werden, aber ich sehe, dass die Zeiten nicht geordnet sind und zufällig verteilt werden. Entschuldigung, ich bin mit der Datenbankarbeit nicht sehr vertraut und nicht sicher, warum dies wie oben zu sein scheint.

+3

Beim Betrachten von Daten in einer Tabelle in einem Werkzeug oder über einen SELECT wird die Reihenfolge in keiner Weise garantiert, es sei denn, Sie haben eine ORDER BY-Klausel. Wenn Sie eine Identitätsspalte hinzufügen würden, würde dies die Reihenfolge der Einfügung widerspiegeln und wäre die Reihenfolge, nach der sortiert werden soll. –

+0

Was ist die Frage? Außerdem sollten Sie Ihre 'DateTime'-Spaltendefinition angeben (haben Sie eine Standardeinstellung?) Oder werden die Werte von der Anwendung generiert? – Alexei

Antwort

0

Eine Datenbanktabelle ist eine ungeordnete Struktur. Das bedeutet, dass auf dem Weg, wie Zeilen auf dem Tisch gespeichert werden, keine Reihenfolge besteht. Betrachten Sie es als einen Haufen, wo wir nur 'Datensätze ohne eine bestimmte Reihenfolge werfen.

Bestellung kommt an Ort und Stelle mit der order by Klausel auf einer SELECT Abfrage. Solange Sie keine Ergebnisse mit einem order by abrufen, ist die Reihenfolge der zurückgegebenen Zeilen zufällig.