Jeg er ikke sikker på, hvilken ækvivalent du leder efter, men:
- der er ingen nanosekunds præcision
i PostgreSQL:Det tilladte interval af p (præcision) er fra 0 til 6 for
timestamp
oginterval
typer. - nogle datodele inkluderer andre:dvs.
milliseconds
indeholderseconds
µseconds
indeholdermilliseconds
(og dermedseconds
også).
Hvis du leder efter logisk adskilte værdier, skal du lave noget matematik, f.eks.:
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
Eller, hvis du ser efter, hvor langt et tidsstempel er inden for dens faktiske uge, kan du bruge timestamp
(og interval
) aritmetik også:
select ts - date_trunc('week', ts) time_elapsed_since_monday
(Selvom det er ret svært at beregne dette for uger, der starter på søndag:date_trunc
virker kun med ISO-uger).
http://rextester.com/SOOO48159