MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So rufen Sie das Datum mithilfe von SQL aus einer MongoDB-Objekt-ID ab

Dies kann wie folgt erreicht werden (unter der Annahme von objectId ist ein String) in MySQL:

SELECT FROM_UNIXTIME(
    CAST(CONV(SUBSTR(objectId, 1, 8), 16, 10) AS UNSIGNED)
) FROM table

Es funktioniert wie folgt:

  • SUBSTR(objectId, 1, 8) nimmt die ersten 8 Zeichen aus der hexadezimalen objectId Zeichenfolge
  • CONV(..., 16, 10) wandelt die Hexadezimalzahl in eine Dezimalzahl um und gibt sie als Zeichenfolge zurück (die den UNIX-Zeitstempel darstellt)
  • CAST (...) AS UNSIGNED wandelt den Zeitstempel-String in eine Ganzzahl ohne Vorzeichen um
  • FROM_UNIXTIME(...) wandelt die Ganzzahl des Zeitstempels in das Datum um

Beachten Sie, dass das angezeigte Datum standardmäßig auf den Zeitzoneneinstellungen Ihres Systems basiert.