2

SQLサーバーで機能するこのクエリがあります:

Convert(datetime, [ChangedDate]) >= DATEADD(DAY, -3, CAST(GETDATE() AS DATE)) 

Android SQLite データベースで動作させたい。

私が理解している限り、date('now','+14 day')の代わりに: のようなものを使用する必要がありDATEADDますが、エラーが発生しますdatetime(SQLite.

SQLite で動作するようにこのクエリを変更できますか?

4

1 に答える 1

2

dateSQLite にはデータ型がありません。convertしたがって、またはを使用する必要はありませんcast。次のようなクエリが機能します。

select  *
from    table1
where   col1 < datetime('now', '-3 days')

SQL Fiddle の例。

詳細については、SQLite のマニュアルを参照してください。

1.2 日付と時刻のデータ型

SQLite には、日付や時刻を格納するためのストレージ クラスが用意されていません。代わりに、SQLite の組み込みの日付と時刻関数は、日付と時刻を TEXT、REAL、または INTEGER 値として格納できます。

ISO8601 文字列としてのTEXT ("YYYY-MM-DD HH:MM:SS.SSS")。

ユリウス日としてのREAL。先発グレゴリオ暦による紀元前 4714 年 11 月 24 日のグリニッジ正午からの日数。

UNIX 時間としてのINTEGER 、1970-01-01 00:00:00 UTC からの秒数。

アプリケーションは、これらの形式のいずれかで日付と時刻を保存することを選択し、組み込みの日付と時刻関数を使用して形式を自由に変換できます。

于 2013-02-06T10:02:42.023 に答える