MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come recuperare la data da un ObjectId MongoDB utilizzando SQL

Questo può essere ottenuto come segue (assumendo objectId è una stringa) in MySQL:

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

Funziona come segue:

  • SUBSTR(objectId, 1, 8) prende i primi 8 caratteri dall'esadecimale objectId stringa
  • CONV(..., 16, 10) converte il numero esadecimale in un numero decimale e lo restituisce come stringa (che rappresenta il timestamp UNIX)
  • CAST (...) AS UNSIGNED converte la stringa timestamp in un intero senza segno
  • FROM_UNIXTIME(...) converte l'intero timestamp nella data

Tieni presente che per impostazione predefinita la data visualizzata sarà basata sulle impostazioni del fuso orario del tuo sistema.