So wählen Sie Datensätze zwischen zwei timestamps in der oracle

Ich habe eine Tabelle, wo die Spalte recordedist definiert als eine timestamp wie folgt:

 TIMESTAMP(6) RECORDED

Möchte ich, um alle Datensätze auszuwählen, die wurden "aufgenommen" zwischen 2 timestamps . Dafür schrieb ich die folgende Abfrage:

    SELECT * FROM myTable WHERE
    recorded BETWEEN 1414794711050 AND 1415399511053;

Wenn dies zu tun, erhalte ich eine Fehlermeldung

ORA-00932: Inkonsistente Datentypen: TIMESTAMP erwartet, die NUMMER bekam
00932. 00000 - "inkonsistente Datentypen: erwartete %s, bekam %s"

Ich habe auch versucht mit:

    SELECT * FROM myTable WHERE 
    recorded BETWEEN to_timestamp(1414794711) AND to_timestamp(1415399511);

Wie ist der Weg, diese Abfrage funktioniert?

  • Ist "1414794711050" ein unix-timestamp? (Sekunden vom 1. Januar 1970)
  • Es ist der Betrag von Millisekunden ab dem 1. Januar 1970, aber es wäre kein problem, nehmen Sie die Anzahl der Sekunden, d.h. Division durch 1000 und abschneiden.
InformationsquelleAutor Luixv | 2014-11-18
Schreibe einen Kommentar