2017-11-24 8 views
0

SQLサーバーに1つの行を数回挿入します。私はちょうど私のdatetime列は、行が挿入されているが、順序ではない時間をキャプチャすることに気づいた。例えば、SQLサーバーの日時注文

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

トップ1。私は、データが最初に挿入されたときに最初の行が常に行になることを期待していますが、その時間は順序どおりではなく、ランダムに分散していることがわかります。申し訳ありませんが、私はあまりにもデータベースの作業に精通していないと、これが上記のように見える理由はわかりません。

+3

ツール内またはSELECTを使用してテーブル内のデータを調べる場合、ORDER BY句がないかぎり、順序は保証されません。アイデンティティ列を追加する場合は、挿入順序が反映され、注文することになります。 –

+0

何が問題なのですか?また、 'DateTime'カラム定義を指定する必要があります(デフォルト値を持っていますか?)、またはアプリケーションによって値が生成されていますか? – Alexei

答えて

0

データベーステーブルは、順序付けられていない構造です。これは、行がテーブルに保存される方法に順序がないことを意味します。それをヒープと考えると、特別な順序をとらずに「」というレコードがスローされます。

クエリのorder by句を使用して注文が行われます。 order byを使用して結果をフェッチしない限り、返される行の順序はランダムです。