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

Sådan henter du datoen fra et MongoDB ObjectId ved hjælp af SQL

Dette kan opnås som følger (forudsat objectId er en streng) i MySQL:

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

Det fungerer som følger:

  • SUBSTR(objectId, 1, 8) tager de første 8 tegn fra det hexadecimale objectId streng
  • CONV(..., 16, 10) konverterer det hexadecimale tal til et decimaltal og returnerer det som en streng (som repræsenterer UNIX-tidsstemplet)
  • CAST (...) AS UNSIGNED konverterer tidsstempelstrengen til et heltal uden fortegn
  • FROM_UNIXTIME(...) konverterer tidsstemplet heltal til datoen

Bemærk, at den viste dato som standard vil være baseret på dit systems tidszoneindstillinger.



  1. Meteor - collection.find() returnerer altid alle felter

  2. MongoDB:Eksistensen af ​​en indlejret nøgle

  3. sql-forespørgsel til mongodb?

  4. Mongoose Query til at filtrere en matrix og udfylde relateret indhold