特定の月のすべてのレコードを選択する SQLite クエリを作成するにはどうすればよいですか? 私の日付はUnix タイムスタンプとして保存されます。
必要に応じて、ソリューションで PHP コードを使用できます。SQLite2 互換のクエリのみでお願いします。:)
効率的なクエリが必要な場合は、BETWEEN を使用する必要があります。
SELECT *
FROM Table1
WHERE date BETWEEN $start AND $end
start
とは月初と月末end
の UNIX タイムスタンプです。これらはmktimeを使用して PHP で計算し、パラメーターとして送信できます。
使用する:
SELECT *
FROM TABLE
WHERE DATETIME(your_unix_timestamp_col, 'unixepoch') BETWEEN YYYY-MM-DD
AND YYYY-MM-DD
YYYY-MM-DD
をご希望の日付に置き換えてください。サポートされているその他の形式については、リファレンス ページを参照してください。
参照:
月の最終日を計算せずに
SELECT *
FROM table
WHERE strftime('%Y-%m',date(unix_timestamp,'unixepoch','localtime')) = '2010-03'