どれに相当するものを探しているのかわかりませんが:
- ナノ秒の精度はありません
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