Frage

Ich habe last_update_date Spalte definiert als DATE Feld

Ich möchte Zeit in Millisekunden erhalten.

Zur Zeit habe ich:

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

Aber ich will Millisekunden als auch bekommen.

gegoogelt ich ein bisschen und denken DATE Felder nicht Millisekunden haben. nur TIMESTAMP Felder.

Gibt es eine Möglichkeit Millisekunden zu bekommen? Ich habe keine Möglichkeit, Datentypänderung für das Feld.

Keine korrekte Lösung

Andere Tipps

DATE Felder auf Oracle speichern die Daten nur bis zu einer Sekunde, so gibt es keine Möglichkeit etwas präziser als das bieten. Wenn Sie mehr Präzision möchten, müssen Sie eine andere Art wie TIMESTAMP verwendet werden.

Hier ist ein Link zu einer anderen SO Frage zu Oracle Datum und Uhrzeit Präzision.

Wie RC sagt der Typ DATE unterstützt nur eine Granularität auf die Sekunde.

Wenn in TIMESTAMP Umwandlung ist wirklich keine Option dann, wie etwa die Zugabe einer anderen numerischen Spalte, dass nur die Millisekunden hält?

Diese Option würde mehr umständlich zu behandeln als eine TIMESTAMP-Spalte, aber es könnte praktikabel sein, wenn die Art Umwandlung nicht möglich ist.

In einer ähnlichen Situation, wo ich nicht die Felder in einer Tabelle ändern könnte, (kann nicht ‚Bruch‘ Software von Drittanbietern leisten,) aber benötigten Unter zweiter Präzision, habe ich eine 1: 1 zusätzliche Tabelle, und ein nach Insert-Trigger auf der ursprünglichen Tabelle, die die Zeitstempel in die Zusatztabelle zu veröffentlichen.

Wenn Sie nur die Reihenfolge der Datensätze müssen wissen, innerhalb der gleichen Sekunde hinzugefügt wird, können Sie das gleiche tun, nur eine Sequenz, die als Datenquelle für das Zusatzfeld.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top