Non sono sicuro di quale equivalente stai cercando, ma:
- non esiste una precisione di nanosecondi
in PostgreSQL:L'intervallo consentito di p (precisione) è da 0 a 6 per il
timestamp
einterval
tipi. - alcune parti della data ne includono altre:ad esempio
milliseconds
contieneseconds
µseconds
contienemilliseconds
(e quindiseconds
anche).
Se stai cercando valori logicamente separati, dovrai fare un po' di matematica, ad esempio:
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
Oppure, se stai cercando di quanto dista un timestamp nella sua settimana effettiva, puoi utilizzare timestamp
(e interval
) anche l'aritmetica:
select ts - date_trunc('week', ts) time_elapsed_since_monday
(Anche se è piuttosto difficile calcolarlo per settimane che iniziano di domenica:date_trunc
funziona solo con settimane ISO).
http://rextester.com/SOOO48159