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

postgresql date_truncを任意精度に?

    必要な関数はありませんが、postgresql wikiで述べられているように、自分で関数を定義できます。

    CREATE OR REPLACE FUNCTION round_time_10m(TIMESTAMP WITH TIME ZONE) 
    RETURNS TIMESTAMP WITH TIME ZONE AS $$ 
      SELECT date_trunc('hour', $1) + INTERVAL '10 min' * ROUND(date_part('minute', $1) / 10.0) 
    $$ LANGUAGE SQL;
    

    通常、2分に切り上げます:

    CREATE OR REPLACE FUNCTION round_time_nm(TIMESTAMP WITH TIME ZONE, INTEGER) 
    RETURNS TIMESTAMP WITH TIME ZONE AS $$ 
      SELECT date_trunc('hour', $1) + ($2 || ' min')::INTERVAL * ROUND(date_part('minute', $1) / $2) 
    $$ LANGUAGE SQL;
    


    1. phpMyAdminを使用してデータベースを複製する方法

    2. SQLServerSELECTを既存のテーブルに追加

    3. OracleのCAST()関数

    4. PostgreSQLを使用してデータベース間でデータを転送する