※ ChatGPTを利用し、要約された質問です(原文:MySQLのDatetime型の引き算)
MySQLのDatetime型の引き算
このQ&Aのポイント
MySQLのDatetime型の引き算について教えてください。
Datetimeの引き算を使った処理数の計算方法を教えてください。
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の部分が正しい値を返すようになれば良いのですが、どのような式を書けばよいのでしょうか?
お礼
ご回答ありがとうございます。 求める答えになりました。 このような方法があるんですね。 いろいろ情報を調べても良い答えが見つからなかったので助かりました。