人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

php5.1.6とMySQLの質問です。
以下のようなテーブルから、reg_dateが今現在から72時間以内のレコードとを取り出したいのです。
どのように書けばいいですか?
reg_dateの型はdatetimeで、テーブル内でsortされていないとします。
また時間計算は秒単位で行いたいと考えています。

いまいち日付計算の書き方が判らず苦労しています。
よろしくお願いします。


テーブル名:log_tbl
id, name, reg_date
1, aaa, 2011-02-21 12:54:35
2, bbb, 2011-03-16 22:10:03
3, rrr, 2011-03-16 23:40:23
4, kkk, 2011-04-10 19:54:58
5, eee, 2011-04-10 21:02:35
6, qqq, 2011-04-10 21:36:20

●質問者: seadwell
●カテゴリ:ウェブ制作
✍キーワード:2011-03-16 2011-04-10 23 4:3 AAA
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● taroe
●16ポイント

select * from log_tbl WHERE reg_date > ADDTIME(now(),INTERVAL -72 HOUR)

◎質問者からの返答

動きません。

文法エラーが出ます。

以下の構文はおかしいですか?

コピペで/p>が入ります。実際のSQL文には入っていません。



SELECT

Q.user_id as user_id,

Q.uid as uid,

Q.shop_id as shop_id,

Q.item_id as item_id,

I.item_name_kana as item_name_kana,

Q.reg_date as reg_date

FROM

user_questlog as Q

LEFT JOIN

item_master as I

ON

Q.item_id = I.item_id

WHERE

Q.user_id = $id

AND

Q.reg_date > ADDTIME(now(),NTERVAL -72 HOUR)


2 ● あすか
●16ポイント

下記のようにSQL文だけで実現できます。

PHPは不要です。


SELECT * FROM LOG_TBL WHERE reg_date > ADDTIME(NOW(), '72:00:00');
◎質問者からの返答

ご回答ありがとうございます。

こちらは、文法エラーは出ませんが思惑のデータを拾ってくれません。

配列は空です。

データは、本日入力しましたので日付に間違いはないはずです。

AND以降を取りますと、正常に動作します。

おかしいですね?。


3 ● chuken_kenkou
●16ポイント

AND

Q.reg_date > ADDTIME(now(),NTERVAL -72 HOUR)

INTERVALのIが欠落していますが?

◎質問者からの返答

ほんとですね。

お恥ずかしい。

しかし、Iを入れましたがシンタックスエラーは消えません><


4 ● hanako393
●26ポイント

SELECT now();

正しい日時を返しているか確認してみてはどうでしょうか?

http://sf51.blog42.fc2.com/blog-entry-13.html


ADDTIME('2011/04/11 19:20:00', '72:00:00');

のように値を直接指定して試してみることでも原因がわかるかもしれませんね。



ADDTIME(NOW(), '72:00:00');

ADDTIME(now(),NTERVAL -72 HOUR)

http://kenjisato.info/archives/157

◎質問者からの返答

ご回答ありがとうございます。

ADDTIME(now(),INTERVAL -72 HOUR)

はADDTIMEをADDDATEとしたら思うとおりのデータを取得してくれました。

参考サイトを教えていただきありがとうございます。


5 ● あすか
●26ポイント

2で回答した者です。

SQL文が間違っていました。ごめんなさい。

正しくは下記の通りです。


SELECT * FROM LOG_TBL WHERE reg_date > SUBTIME(NOW(), '72:00:00');
◎質問者からの返答

やったー!できました^^

無事動作を確認しました。

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ