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

Postgresの日付から平日、ミリ秒​​、マイクロ秒、ナノ秒を抽出します

    どれに相当するものを探しているのかわかりませんが:

    • ナノ秒の精度はありません PostgreSQLの場合:pの許容範囲 (精度)timestampの場合は0〜6です およびinterval タイプ。
    • 一部の日付部分には他の部分が含まれます:つまり、milliseconds secondsが含まれています &microseconds millisecondsが含まれています (したがって、seconds

    論理的に分離された値を探している場合は、次のような計算を行う必要があります。

    select extract(dow from ts) dow,       -- day-of-week (where weeks start on sunday, which is 0)
           extract(isodow from ts) isodow, -- ISO day-of-week (where weeks start on monday, which is 1)
           floor(extract(seconds from ts))::int only_seconds,
           floor(extract(milliseconds from ts))::int - 1000 * floor(extract(seconds from ts))::int only_milliseconds,
           floor(extract(microseconds from ts))::int - 1000 * floor(extract(milliseconds from ts))::int only_microseconds,
           extract(microseconds from ts) all_microseconds
    

    または、タイムスタンプが実際の週内でどれだけ離れているかを調べている場合は、timestampを使用できます。 (およびinterval )算術も:

    select ts - date_trunc('week', ts) time_elapsed_since_monday
    

    (日曜日から始まる週についてこれを計算するのはかなり難しいですが:date_trunc ISO週のみで動作します。

    http://rextester.com/SOOO48159



    1. MySQLは重複レコードを削除します

    2. Javaの結果セットからバイナリXMLとして格納されているOracleXMLTypeを取得する

    3. djangoでのDISTINCTON

    4. SQL Serverデータベースのオブジェクト(テーブル、ビュー、ストアドプロシージャ)のスキーマを変更する方法-SQL Server/TSQLチュートリアルパート28