2011-07-21 14 views
0

より具体的には、私の読み取り専用データベースの最初の2つの列は行番号(_id整数の主キー)で、日付と時刻はテキスト形式7/21/2011 HH:MM:SS PMです。 Androidアプリでは、ユーザーが開始時間と終了時間(HH:MM)を選択し、その時間間隔に関するデータがグラフィカルに表示されます。入力された時刻にデータベースのこの2行目を検索するにはどうすればよいですか?特定のテキストのSQLiteデータベース内の列を検索するには?

答えて

3

だからあなたの日付列は、(SQLiteのには日付が存在しないため)TEXTが含まれている場合、あなたはSQLiteの機能を使用する必要があります

strftime(format, timestring, modifier, modifier, ...) 

参照ドキュメントSQLite Date functions

だから、SQLクエリは、このようなものに見えるかもしれません:

SELECT * FROM mytable WHERE strftime('MM-DD-YYYY HH:MM:SS', date_column) < strftime('MM-DD-YYYY HH:MM:SS', '7/21/2010 22:00:00') 

最後の日付パラメータは入力された日付になります。

+0

私は12時間の時計を使用しています。 AM/PMをクエリに追加する方法はありますか? – Kalina

+0

私はコードでこれを行う必要があることを恐れています。ここでは、あなたの問題を解決するのに役立つリンク[SQLite AM/PM](http://stackoverflow.com/questions/535855/can-you-format-24-hour-time-string-into-12-hour-タイムストリング - 午前 - 午後)。お役に立てれば。 –

0

SQL時刻コマンドに慣れていません。すべての行を選択してから、Dateオブジェクトとその.compareTo()メソッドを使用してJavaコードで処理すると、ユーザーに関心のある行のみを表示できます。

関連する問題