スレッド表示 | フラット表示〕 全トピック 920 件中 659 番目 次≫ ≪前

MYSQL 日付関数と日付の加算について

created: 2004-03-10 10:33 | modified: 2004-03-17 12:44 | reply: 2

[1385] MYSQL 日付関数と日付の加算について

user: ヴィヴィ | created: 2004-03-10 10:33
はじめまして。ヴィヴィと申します。
日付関数について質問があります。

あるステータスが変更された時に、DBのレコードに現在の日付のを入れる場合

mysql_query("update A set kousinbi =now() where bangou = '$bangou'");

ようなやりかたで行っています。

さらにDBから更新日が前日のものを対象に抽出する場合、

mysql_query("select * from A where
kousinbi date_add(now(),interval -1 day)");

とやっています。

DBの日付のフィールドタイプはDATE型で
時刻などはいりません。

now()関数の場合は、日付と時刻もとれると思うのですが、上記の使いかたで正しいのか少し不安と思い投稿させて頂きました。

上記のやりかたで、更新日が前日のものを抽出した時、たとえば現在が閏年の3/1日だった場合、マイナス1を引いてきちんと2/28日のデータが抽出されるのでしょうか?

こういったことを行いたいのですが、
もっと適切なやりかたがありましたらご教示していただけると幸いです。

ヴィヴィ
reply: 1394 返信 編集 削除

[1394] PHPで昨日の日付を獲得

user: ゆうじ | created: 2004-03-11 16:50
こんにちは。

実際に試したわけでありませんが、

あらかじめPHP側で
昨日の日付を獲得しておいてから問合せたほうが、
レコードが増えても日付の計算は1回で済みますし、
DBの負担も軽減できると思います。

$today = -1;
// ↑ココで問合せする日を調整
// 本日ならば、0
// 昨日ならば、-1
// 一週間前ならば、-7

$date = date("Y-m-d", time() + $today * 24 * 60 * 60);
mysql_query("select * from A where kousinbi='$date'");
Parent: 1385  reply: 1415 返信 編集 削除

[1415] ありがとうございます

user: ヴィヴィ | created: 2004-03-17 12:44
こういう場合は、PHP側で計算してからの方が効率いいんですね。

他の方はどうやっているのか、とても気になったので、レスを頂けて参考になりました。

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

ヴィヴィ☆
Parent: 1394  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 659 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑