時間や日付関連のSQLメモ
スポンサードリンク
日付計算
今日から3日後
date_add(now(), interval 3 day)
今日の2日前まで
SELECT * FROM `sk_updates` WHERE `created` < date_add(now(), interval -2 day) SELECT * FROM `sk_updates` WHERE `created` < date_add(current_date, interval -2 day)
1ヵ月後
SELECT date_add(current_date, interval 1 month);
1年後
SELECT date_add(current_date, interval 1 year);
Unix Timestampを用いて計算する場合のメモ:
Unix Timestampを用いて計算すると経過日時などが容易に求めることができるとかで利用されたり、あるいは国際化の中で基本となるUTCで記憶しておきTZ+9で計算したりするとラクらしい。
現在のUnix Timestampを求める
SELECT UNIX_TIMESTAMP(); 1206005142
Unix TimestampからMySQLのDateTime形式に戻す
SELECT from_unixtime(1206005142); 2008-03-20 18:25:42
perlでUnix Timestampを求めるには
my $uts = time();
この形式を用いてデータ を保管しているのはXoopsがカラム的にIntで扱っているほかUnixではlsコマンドで表示されるファイルのタイムスタンプが UnixTimestampである。他のOSSや一般的なシステムではDateもしくはDateTime、Timestampなどが使われている。
とすればよい。
コメント