時間値を持つ行を持つデータベースがあります。その時間値の合計が必要です (通常、形式は %H:%M です)。
私はそのようなSUM値を使用しました:
SELECT SUM(n_hores) FROM table;
しかし、私だけが0.0を取得します。
どうすればそれができますか?
ありがとう
時間値を持つ行を持つデータベースがあります。その時間値の合計が必要です (通常、形式は %H:%M です)。
私はそのようなSUM値を使用しました:
SELECT SUM(n_hores) FROM table;
しかし、私だけが0.0を取得します。
どうすればそれができますか?
ありがとう
formatの時間値hh:mm
は文字列であり、文字列を意味のある合計にすることはできません。
これらの時刻の値を数値に変換する必要があります (strftime(%s)
は 1970 年 1 月 1 日からの秒数を返すため、時刻の値に対応する秒数を取得するには、1 日の始まりからオフセットを減算する必要があります)。
SELECT sum(strftime('%s', MyTime) - strftime('%s', '00:00')) FROM MyTable
この秒数を時間文字列にtime()
戻すこともできます (形式で返しhh:mm:ss
ます)。
SELECT time(sum(strftime('%s', MyTime) - strftime('%s', '00:00'))) FROM MyTable
おそらく、「最後のエポック (現代エポック) からのミリ秒数」を取得して、2 つの日付を差し引いたほうがよいでしょう。SQLite には、最後のエポックからのミリ秒数を返す関数が必要です。これを見つけたら、解決策は単純な減算と秒、分、および/または時間への変換です。