2011-07-16 8 views
-1

今日から始まるデータベースから次の30日間のデータを取得するクエリを教えてください。そのデータベースユーザーは、今後90日間のデータをアップロードすることができます。データベースから次の30日間のデータを取得するにはどうすればよいですか?

+1

確かに、次の30日間のデータはまだ存在しませんか? ;-) –

+0

ok ...そのイベント関連のデータベースが...そしてユーザーは次の90日まで自分のイベントを挿入できますか? – Saam

答えて

2
SELECT * FROM table WHERE date >= CURRENT_TIMESTAMP AND date <= CURRENT_TIMESTAMP + INTERVAL 30 DAY 
+0

ありがとうございました....私は 'D、d M、Y'という形式で日付を保存しています.....この日付形式を使用することは可能ですか? – Saam

+2

なぜDATE列ではなく文字列として日付を格納していますか?データをデータとして保存し、出力時に書式設定します。プログラムを変更する必要がありますが、必要ならば、文字列を[str_to_date](http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions)で日付に変換することができます。 html#function_str-date)。 –

+0

私は同じ形式の 'D、d M、Y'という入力と出力が必要です...それはなぜ私が文字列として作ったのか... – Saam

-1

あなたの代わりにタイムスタンプのあなたは、このような何かを行うことができ整数(Unixエポック)として、あなたの日付を保存していると仮定すると:これは、それらの30日は、2.592.000秒で構成されて想定している

SELECT * FROM wherever WHERE startdate >= UNIX_TIMESTAMP() AND startdate <= UNIX_TIMESTAMP() + 2592000; 

。同様のコードは、タイムスタンプを使用して可能です。

1
SELECT * 
FROM table 
WHERE date BETWEEN CURRENT_TIMESTAMP() AND DATE_ADD(CURRENT_TIMESTAMP(), INTERVAL 30 DAY) 
+0

ありがとうございました....私は 'D、d M、Y'の形式で日付を保存しています.....この日付形式を使用することは可能ですか? – Saam

+0

データ型はvarcharですか?または日付/日時? – ysrb

+0

Ya..its varchar ... – Saam

関連する問題