Domanda

colonna

Ho last_update_date definito come campo DATE

Voglio ottenere il tempo in millisecondi.

Attualmente ho:

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

Ma io voglio ottenere millisecondi pure.

Ho cercato su google un po 'e pensare campi DATE non avranno millisecondi. solo i campi TIMESTAMP farà.

C'è un modo per ottenere millisecondi? Non ho possibilità di cambiare il tipo di dati per il campo.

Nessuna soluzione corretta

Altri suggerimenti

campi data in Oracle conserverà i dati fino a un secondo in modo non v'è alcun modo per fornire qualcosa di più preciso di quello. Se si desidera una maggiore precisione, è necessario utilizzare un altro tipo, come TIMESTAMP.

Qui è un link ad un altro SO domanda per quanto riguarda la data di Oracle e la precisione di tempo.

Come dice RC, il tipo DATE supporta solo una granularità fino alla seconda.

Se la conversione in TIMESTAMP non è veramente un'opzione allora come circa l'aggiunta di un'altra colonna numerico che solo detiene i millesimi di secondo?

Questa opzione sarebbe più ingombrante da affrontare che una colonna timestamp ma potrebbe essere realizzabile se la conversione del tipo non è possibile.

In una situazione simile in cui non ho potuto modificare i campi di una tabella, (non poteva permettersi di 'rompere' software di terze parti), ma necessari inferiore al secondo precisione, ho aggiunto un 1: tavolo supplementare 1, e un dopo trigger di inserimento nella tabella originale per pubblicare il timestamp nella tabella supplementare.

Se avete solo bisogno di conoscere l'ordine di record che si aggiunge nello stesso secondo, si potrebbe fare la stessa cosa, solo con una sequenza come origine dati per il campo supplementare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top