Oracle - Obtiene la fecha / hora en milisegundos de campo de tipo de datos FECHA

StackOverflow https://stackoverflow.com/questions/2343708

  •  23-09-2019
  •  | 
  •  

Pregunta

he columna last_update_date definido como campo DATE

Quiero obtener el tiempo en milisegundos.

Actualmente tengo:

TO_CHAR(last_update_date,'YYYY-DD-MM hh:mi:ss am')

Pero quiero llegar milisegundos también.

Me googled un poco y pensar en campos DATE no tendrán milisegundos. únicos campos TIMESTAMP hará.

¿Hay alguna manera de obtener milisegundos? Yo no tengo la opción de cambiar el tipo de datos del campo.

No hay solución correcta

Otros consejos

campos fecha en Oracle solamente almacenar los datos a un segundo lo que no hay manera de proporcionar algo más preciso que eso. Si quieres más precisión, es necesario utilizar otro tipo, como marca de tiempo.

Aquí es un enlace a otra pregunta sobre la fecha SO Oracle y precisión del tiempo.

Como RC dice, el tipo de fecha sólo es compatible con una granularidad hasta el segundo.

Si la conversión a TIMESTAMP no es realmente una opción, entonces ¿qué hay de la adición de otra columna numérica que simplemente mantiene los milisegundos?

Esta opción sería más engorroso de manejar que una columna TIMESTAMP pero podría ser viable si la conversión del tipo no es posible.

En una situación similar en la que no podía cambiar los campos de una tabla, (¿No podía permitirse el lujo de 'ruptura' software de terceros), pero necesita precisión inferior a un segundo, he añadido un 1: Tabla 1 complementario, y una después de desencadenador de inserción en la tabla original para publicar la marca de tiempo en la tabla suplementaria.

Si sólo necesita saber el orden de los registros que se añade en el mismo segundo, se podría hacer lo mismo, sólo con una secuencia como fuente de datos para el campo suplementario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top