2011-08-16 15 views
2

私は束縛の情報を格納するテーブル(MySQL)のデータを持っています。PHPの日付が12時間前であるかどうかを調べる

行の作成が12時間行われたかどうかを計算しようとしています。

私はこのように表示される " 日付" と呼ばれる細胞持つ行ごとに

2011年7月13日午後07時28分またはを2011年8月7日午前3時33分

私は"date"が作成されてから12時間経過したかどうかを判断する単純なif/else文を探しています。

+0

どの形式ですか?フィールドのタイプは何ですか? –

+0

データベースに日付を格納するデータ型は何ですか? – scube

+0

私が知っている少し悪い習慣ですが、作成はタイムスタンプに保存されていません。単にvarcharです。2011年8月7日03:33 –

答えて

11
SELECT ... 
FROM yourtable 
WHERE `date` <= DATE_SUB(now(), INTERVAL 12 HOUR) 

フィールド 'date'の名前付けは悪い習慣であることに注意してください。日付はMySQLの予約語で、予約語はフィールド名として使用しないでください。

+0

...そうでなければ、テーブル名を明示的に指定する必要があります。つまり、「yourtable.date」 –

+0

これは美しいクエリです。 +1 – AlienWebguy

+0

私は予約語を使用しないよう助言します。私は一度アクセス可能だったし、元に戻すのに数時間かかった。私はフレームワークになっているので、いくつかのルールで作業しなければならなかったので、 – matthewdaniel