質問: mysqlのdatetime型の引き算 ある機械の1日当たりの処理数を計算したいと思います。 datetimeの引き算がうまくいかないので、解決方法を教えてください。 1日当たりの処理数は下記の式で計算できます。 1日当たりの処理数=期間内処理数÷((現在日時-作業開始日時)÷(60×60×24)) ※現在日時-作業開始日時で期間の秒数を計算 それを1日の秒数=86400秒(60秒×60分×24時間)で割る。 ------------------ 環境 mysql:5.0.77 ------------------ テーブル: test カラム :num(int型),start_date(datetime型) ※numは期間内の機械の処理数です。 まず、上記の1日当たりの処理数の数式をsql文に反映させてみました。 select num , num/((now()-start_date)/86400) as shorisu from test 結果は表示されるのですが、かなり大きな数値になって出てきてしまいます。 webで情報を検索したところ、datetime型を直接減算すると求める結果にならないことはわかりました。 mysqlのページ(11.5. 日付時刻関数) http://dev.mysql.com/doc/refman/5.1/ja/date-and-time-functions.html を見てみましたが、どの関数を使えばよいのかいまいちわかりません。 now()-start_dateの部分が正しい値を返すようになれば良いのですが、どのような式を書けばよいのでしょうか?
回答: select time_to_sec( timediff( now(), '2011-12-01 0:0:0' ) ); mysql ver 14.12 distrib 5.0.51a