2

特定の月のすべてのレコードを選択する SQLite クエリを作成するにはどうすればよいですか? 私の日付はUnix タイムスタンプとして保存されます。

必要に応じて、ソリューションで PHP コードを使用できます。SQLite2 互換のクエリのみでお願いします。:)

4

3 に答える 3

4

効率的なクエリが必要な場合は、BETWEEN を使用する必要があります。

SELECT *
FROM Table1
WHERE date BETWEEN $start AND $end

startとは月初と月末endの UNIX タイムスタンプです。これらはmktimeを使用して PHP で計算し、パラメーターとして送信できます。

于 2010-03-20T23:40:46.673 に答える
1

使用する:

SELECT *
  FROM TABLE 
 WHERE DATETIME(your_unix_timestamp_col, 'unixepoch') BETWEEN YYYY-MM-DD 
                                                          AND YYYY-MM-DD

YYYY-MM-DDをご希望の日付に置き換えてください。サポートされているその他の形式については、リファレンス ページを参照してください。

参照:

于 2010-03-20T23:41:31.717 に答える
1

月の最終日を計算せずに

SELECT * 
  FROM table 
 WHERE strftime('%Y-%m',date(unix_timestamp,'unixepoch','localtime')) = '2010-03'
于 2010-03-20T23:51:36.943 に答える