どれに相当するものを探しているのかわかりませんが:
- ナノ秒の精度はありません
PostgreSQLの場合:pの許容範囲 (精度)は
timestampの場合は0〜6です およびintervalタイプ。 - 一部の日付部分には他の部分が含まれます:つまり、
millisecondssecondsが含まれています &microsecondsmillisecondsが含まれています (したがって、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週のみで動作します。
https://rextester.com/SOOO48159