0

レンタカーの目的でデータを保存するためのテーブルがあります(予約は応答を待っています)。これは、予約の開始されたdatimeが格納される「initiated_datime」(INT、10)と呼ばれるフィールドです(INT 10が最も効率的な方法ではないことはすでに知っています、2038など)。

さらに報告するために、24時間以上応答を待っている予約を表示したいと思います...

次の例は私のために働きます

SELECT * FROM rentals WHERE rental_flag = 1 AND '".$cur_datetime_unixtime."' >(initiated_datime + 86400) ... WHERE $cur_datetime_unixtime is created in php

SELECT * FROM rentals WHERE rental_flag = 1 AND unix_timestamp(now()) > (initiated_datime + 86400)

より効率的なコードで変更する方法(initiated_datime + 86400)はありますか?のように:unix_timestamp(initiated_datime + 1日間隔)?

前もって感謝します!

4

2 に答える 2

0

これを修正する最も効率的な方法は、列をに変更することdatetimeです。日付/時刻関数を使用して、フィルターを簡単に操作できます。

于 2013-03-09T18:11:25.683 に答える
0

一般的な場合ではありません。ただし、この場合、その不等式は次のようになります。

SELECT * FROM rentals WHERE rental_flag = 1 
AND unix_timestamp(now() - INTERVAL 1 DAY) > initiated_datime
于 2013-03-09T18:22:19.827 に答える