sql >> データベース >  >> RDS >> PostgreSQL

PostgreSqlの時間の合計列を計算します

    あなたが望むことは不可能です。しかし、おそらくtimeを誤解しているでしょう。 タイプ :1日の正確な時点を表します。 2回(またはそれ以上)を追加することはあまり意味がありません。 f.ex. '14:00' + '14:00' = '28:00' (ただし、1日に28時間はありません)。

    おそらく必要なのは、intervalです。 (これは時間間隔を表します;時間、分、さらには年)。 sum() intervalをサポート 引数。

    間隔を使用する場合、それは非常に簡単です:

    SELECT sum(interval_col) FROM my_table;
    

    ただし、timeに固執する場合 タイプ(ただし、そうする理由はありません)、intervalにキャストできます それを使って計算するには:

    SELECT sum(time_col::interval) FROM my_table;
    

    しかし、繰り返しになりますが、結果はintervalになります 、time 値は1日の24時間を超えることはできません。

    :PostgreSQLがキャストを行うので、sum(time_col) 動作するはずですが、結果はintervalです この場合も。



    1. mysqlまたはsqlにはいくつのタイプの結合がありますか

    2. Railsマイグレーションを作成して、精度を削除/変更し、小数でスケーリングするにはどうすればよいですか?

    3. PostgreSQLでpg_notify(text、text)を使用してLISTEN / NOTIFY

    4. カーソル内の動的テーブル名