Jag är inte säker på vilken motsvarighet du letar efter, men:
- det finns ingen nanosekundprecision
i PostgreSQL:Det tillåtna intervallet för p (precision) är från 0 till 6 för
timestamp
ochinterval
typer. - vissa datumdelar inkluderar andra:d.v.s.
milliseconds
innehållerseconds
µseconds
innehållermilliseconds
(och därmedseconds
också).
Om du letar efter logiskt separata värden måste du göra lite matematik, t.ex.:
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, om du letar efter hur långt en tidsstämpel är inom den faktiska veckan, kan du använda timestamp
(och interval
) aritmetik också:
select ts - date_trunc('week', ts) time_elapsed_since_monday
(Även om det är ganska svårt att beräkna detta för veckor som börjar på söndag:date_trunc
fungerar endast med ISO-veckor).
http://rextester.com/SOOO48159