Hellmuth Vargas escribió:
> buenos días Lista
> 
> Primero, los campos de las cuales quiere  extraer los Milisegundos son de
> tipo DATE? porque si es así  estos no tiene la precisión hasta milisegundos
> (incluso solo llega al día), debería emplear TIMESTAMP
> 
> Trabajando con TIMESTAMP la sentencia seria algo así:
> 
> select extract('milliseconds' from cast('2014-01-01 02:00:00.520' as
> timestamp) - cast('2014-01-01 02:00:00.400'  as timestamp))

Esto dará 120 milisegundos como respuesta, lo cual es correcto, pero si
los timestamps tienen cinco minutos de diferencia, dará cero y supongo
que querrá que dé 300000.

Para eso lo más simple es restar los "extract epoch":
alvherre=# select extract(epoch from timestamp '2014-01-02 02:05:01.520') - 
extract(epoch from timestamp '2014-01-02 02:00:01.520');
 ?column? 
----------
      300

Para tenerlo en milisegundos, basta multiplicar por 1000.

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a