Ik weet niet zeker welk equivalent je zoekt, maar:
- er is geen nanoseconde precisie
in PostgreSQL:Het toegestane bereik van p (precisie) is van 0 tot 6 voor de
timestamp
eninterval
soorten. - sommige datumdelen bevatten andere:d.w.z.
milliseconds
bevatseconds
µseconds
bevatmilliseconds
(en dusseconds
ook).
Als u op zoek bent naar logisch gescheiden waarden, moet u wat rekenwerk doen, bijvoorbeeld:
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
Of, als u wilt weten hoe ver een tijdstempel is binnen de werkelijke week, kunt u timestamp
gebruiken (en interval
) ook rekenen:
select ts - date_trunc('week', ts) time_elapsed_since_monday
(Hoewel het nogal moeilijk is om dit te berekenen voor weken die beginnen op zondag:date_trunc
werkt alleen met ISO-weken).
http://rextester.com/SOOO48159