sql >> Databáze >  >> NoSQL >> MongoDB

Jak načíst datum z MongoDB ObjectId pomocí SQL

Toho lze dosáhnout následovně (za předpokladu objectId je řetězec) v MySQL:

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

Funguje následovně:

  • SUBSTR(objectId, 1, 8) vezme prvních 8 znaků z hexadecimálního objectId řetězec
  • CONV(..., 16, 10) převede šestnáctkové číslo na desítkové a vrátí jej jako řetězec (který představuje časové razítko UNIX)
  • CAST (...) AS UNSIGNED převede řetězec časového razítka na celé číslo bez znaménka
  • FROM_UNIXTIME(...) převede celé číslo časového razítka na datum

Upozorňujeme, že ve výchozím nastavení bude zobrazené datum vycházet z nastavení časového pásma vašeho systému.



  1. Předání dalších sklenic Sparku prostřednictvím spark-submit

  2. Je možné porovnat datové řetězce v mongodb?

  3. MongoDB Agregation PHP, Group by Hours

  4. jak správně přenést ObjectId do mongoose