0

SQLite には日付と時刻のデータ型がないため、日付はテキスト形式になっているため、データを日付で並べ替えたいと考えています。

したがって、次のようにデータベースにクエリを実行すると

SELECT jobno, ondate FROM Reports ORDER BY DATE(ondate)

これは、データではなくアルファベット順に並べ替えられたデータを返します。日付順に並べ替えるにはどうすればよいですか?

4

4 に答える 4

3

基本的にINTEGER型であるUnixエポック形式、または時間文字列(YYYY-MM-DDのもの)を使用してください。使用できる時間文字列形式のリストは、ここにあります。

INTEGER タイプをソートするように unix-epoch をソートし、TEXT タイプをソートするように時間文字列をソートします。

于 2013-10-02T10:59:40.470 に答える
1

SQLite が の形式の文字列を比較/ソートする場合dd/mm/YYYY、他の文字列と同様に処理します。つまり、文字列の最初の文字が優先されます。たとえば、 の01/10/2013前にソートされ22/01/2000ます。

日付を比較またはソートしたり、SQLite の組み込み日付関数を使用したりする場合は、サポートされている日付形式のいずれかを使用する必要YYYY-MM-DDがあります。

DATE(特定のクエリでは、パラメーターの形式を認識しない場合に返される関数を呼び出してNULLいます。これは、レコードがまったく並べ替えられなかったことを意味します。)

于 2013-10-02T13:00:31.573 に答える
0

日付をミリ秒単位で入力するか、YYYYMMDD 形式のテキストを使用するという 2 つのことをお勧めします。表示したいとき、または保存したいときはいつでも変換してください。複雑ではなく、多くの手間を省くことができます。

于 2013-10-02T10:50:15.863 に答える
0

日付をタイムスタンプとして、つまりミリ秒単位で保存することをお勧めします。

于 2013-10-03T12:10:58.680 に答える