MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment récupérer la date d'un ObjectId MongoDB en utilisant SQL

Ceci peut être réalisé comme suit (en supposant que objectId est une chaîne) dans MySQL :

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

Cela fonctionne comme suit :

  • SUBSTR(objectId, 1, 8) prend les 8 premiers caractères de l'objectId hexadécimal chaîne
  • CONV(..., 16, 10) convertit le nombre hexadécimal en nombre décimal et le renvoie sous forme de chaîne (qui représente l'horodatage UNIX)
  • CAST (...) AS UNSIGNED convertit la chaîne d'horodatage en un entier non signé
  • FROM_UNIXTIME(...) convertit l'entier d'horodatage en date

Notez que par défaut, la date affichée sera basée sur les paramètres de fuseau horaire de votre système.