PostgreSQLデータベースに、TIMESTAMP WITHOUT TIME ZONE
タイプのテーブルがあります。私はこのコラムでレコードを注文する必要があると明らかにPostgreSQLは、としてそれをやっていくつかの問題があり、両方のPostgreSQLがタイムスタンプ列を正しく注文していません
...ORDER BY time_column
と
...ORDER BY time_column DESC
くれ持つレコードの私の3要素のサンプルのための要素の順序と同じ順序を与えます同一の
time_column
値ですが、ミリ秒単位の値は除きます。
ソート中は、値のミリ秒は考慮されていないようです。
実際にデータベースに格納されているのは確かです。レコードを取得すると、DateTime
フィールドに表示されるためです。
最初にすべてのレコードをロードしてから、メモリにtime_column
で注文すると、結果は正しいです。
注文が正しく動作するようにいくつかのオプションがありませんか?
EDIT:明らかに欠けていました。この問題はPostgreSQLではなく、NHibernateがDateTimeプロパティからミリ秒をはずしています。
実際の使用例を教えてください。 –
私は、PostgreSQLが10年以上そこにあった組み込み型をソートすることができないと考えるのは難しいと認めます。 –
ソートに失敗した3要素サンプルのテーブル定義と挿入コマンドを入力してください。私はリチャードと同意します。私はデータベースにタイムゾーンなしのタイムスタンプを使用しているので、並べ替えに問題はありません。 – Matt