MYSQLから登録されているデータから

当日・前日分など具体的な日時を指定せずに取り出すことは可能でしょうか?

Aテーブル
ID date name
1 2013/04/01 田中太郎
2 2013/04/01 田中花子
3 2013/03/28 山田太郎

よろしくお願いします。

回答の条件
  • 1人50回まで
  • 登録:
  • 終了:2013/04/06 11:14:38

ベストアンサー

id:windofjuly No.1

回答回数2625ベストアンサー獲得回数1149

本日を得る例

SELECT *
FROM Aテーブル
WHERE Aテーブル.date = CURRENT_DATE();

前日を得る例

SELECT *
FROM Aテーブル
WHERE Aテーブル.date = ADDDATE(CURRENT_DATE(), -1);
id:at0413

いつもありがとうございます。

上の例は、dateフィールドに時間が入ってる場合は
別の書き方が必要なのでしょうか

当日の場合は、
SELECT *
FROM Aテーブル
WHERE Aテーブル.date >= CURRENT_DATE();
にすれば一応でるのですが、これはおかしいでしょうか?

前日の場合は
date_formatを使い表示させることが出来たのですが、
他の方法もあるのでしょうか?

2013/04/03 09:32:00
id:windofjuly

>WHERE Aテーブル.date >= CURRENT_DATE();

OKですよ。

>date_format

その方法もありです。


質問文どおりに純粋に日付部分だけで比較する例もついでに書いておきます。

WHERE DATE(Aテーブル.date) = CURRENT_DATE();

WHERE DATE(Aテーブル.date) = ADDDATE(CURRENT_DATE(), -1);
2013/04/03 10:07:36

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません