sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo recuperar la fecha de un ObjectId MongoDB usando SQL

Esto se puede lograr de la siguiente manera (suponiendo que objectId es una cadena) en MySQL:

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

Funciona de la siguiente manera:

  • SUBSTR(objectId, 1, 8) toma los primeros 8 caracteres del hexadecimal objectId cadena
  • CONV(..., 16, 10) convierte el número hexadecimal en un número decimal y lo devuelve como una cadena (que representa la marca de tiempo de UNIX)
  • CAST (...) AS UNSIGNED convierte la cadena de marca de tiempo en un entero sin signo
  • FROM_UNIXTIME(...) convierte el entero de la marca de tiempo en la fecha

Tenga en cuenta que, de forma predeterminada, la fecha mostrada se basará en la configuración de la zona horaria de su sistema.