2017-04-06 6 views
-1

私はsqliteデータベースから昇順の時間に私のデータをソートしようとしています。ここに私がこれまで持っているものは次のとおりです。私は自分のデータをどのように注文できますか?時間によって昇順

Cursor display = db.rawQuery("SELECT * FROM "+TableName + " ORDER BY Time ASC",null); 

データを表示しますが、私の時間はformade ##。## 24hr時間でソートされません。誰かが助けることを願っています。

+0

と等価であるいくつかの例のデータを表示します。 –

+0

データベーススキーマとそのデータ型を追加できますか? –

答えて

-1

Try "SELECT * FROM " + tableName + " ORDER BY time(Time)"。 PS:ASCがデフォルトです;)

+0

しかし、問題はまだ解決されていませんでした。ヘルパークラスのTime変数を使って私の行うことは何でもできますか? timeのカラム名はTime – user7388968

+0

です。 'time()'は文字列 'Time'から整数を計算する関数です。私にとってはうまくいく。 timeは保護されたキーなので、 'Time'を' timestring'に名前を変更してください。 – hendrikheinle

+0

こんにちはuser7388968、少し基本を学ばなければならないと思います。 – hendrikheinle

-1

あなたはstrftime()機能を使用することができます。

SELECT * 
FROM my_table 
ORDER BY strftime('%H:%M:%S',my_column) 

ここで私は、一例としてfiddleを作成しました。

生のクエリのようなものでなければなりません:

"SELECT * FROM " + TableName + " ORDER BY strftime('%H:%M:%S'," + my_column + ")" 

注:strftime()機能を使用すると、操作の日付のために使用することができ、より一般的な機能です。しかし、この具体的なケースではtime()を使用することもできます。確かに、私はリンクされたドキュメントが言うように:

time(...)strftime('%H:%M:%S', ...)

関連する問題