No estoy seguro de qué equivalente está buscando, pero:
- no hay precisión de nanosegundos
en PostgreSQL:El rango permitido de p (precisión) es de 0 a 6 para la
timestamp
yinterval
tipos. - algunas partes de la fecha incluyen otras:es decir,
milliseconds
contieneseconds
µseconds
contienemilliseconds
(y por lo tantoseconds
también).
Si está buscando valores lógicamente separados, deberá hacer algunos cálculos, por ejemplo:
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
O, si está buscando qué tan lejos está una marca de tiempo dentro de su semana real, puede usar timestamp
(y interval
) aritmética también:
select ts - date_trunc('week', ts) time_elapsed_since_monday
(Aunque es bastante difícil calcular esto para las semanas que comienzan el domingo:date_trunc
funciona solo con semanas ISO).
http://rextester.com/SOOO48159