例えば、以下の時間割のテーブルを作ったとしましょう。
-- num 時限
-- subject 教科
-- start_time 開始時刻
CREATE TABLE time_tables (
id int unsigned PRIMARY KEY auto_increment,
num smallint unsigned NOT NULL,
subject varchar(50) NOT NULL,
start_time time NOT NULL
) CHARACTER SET utf8;
開始時刻10分前の情報が欲しい時、start_timeから10分を引けばいいんですけど、普通に引き算してもダメです。
TIMEDIFF関数を使って引き算することができます。
SELECT TIMEDIFF(start_time, '00:10:00') as before10min
FROM time_tables;
逆に10分後の情報が欲しい時は、ADDTIME関数を使います。
SELECT ADDTIME(start_time, '00:10:00') as after10min
FROM time_tables;
例えば時間を監視する処理が走っていて、ある時間の何分前になったら集計を行うとか、そんな時に使えそうですね。
0 件のコメント:
コメントを投稿