dポイントプレゼントキャンペーン実施中!

いつもお世話になっております。

MySQLで BirthDay int(8)
というカラムを持っています。
(2000年1月1日だったら「20000101」で保持)
PHPで10代が選択された場合、生年月日から10代のものを取ってきたい
と思っているのですが、どのような方法がありますでしょうか?

ご教授お願いいたいます。

<環境>
PHP:4.3.2
Apache:2.0.40 (Red Hat Linux)
MySQL:3.23.56

A 回答 (2件)

10代とは・・・


今日が2007/12/28だとすると1986/12/29~1996/12/28生まれということですか?
そうなると20年前の明日~10年前の今日までとなりますので
以下のようなものでいかがでしょうか?

SELECT *
FROM テーブル
WHERE `BirthDay` BETWEEN DATE_FORMAT(CURDATE() + INTERVAL 1 DAY -INTERVAL 20 YEAR,"%Y%m%d") AND DATE_FORMAT(CURDATE() -INTERVAL 10 YEAR,"%Y%m%d")

※PHPでという話でしたがとりあえずMySQLでかいときました。
    • good
    • 0
この回答へのお礼

> yambejp さん
ご回答ありがとございます。

> 今日が2007/12/28だとすると1986/12/29~1996/12/28生まれということですか?
はい。そのように考えております。
提示していただいた、クエリでうまくいきました。
ありがとうございます。

お礼日時:2006/12/29 10:38

#1です。



今日は2006/12/28でした。
タイプミスです。混乱のないよう念のため。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!