In Mongodb-documentatie de Objectid wordt gevormd met een tijdstempel als de eerste 4 bytes, maar dit wordt hexadecimaal weergegeven. Ervan uitgaande dat de hexadecimale waarde wordt opgeslagen als een tekenreeks in PostgreSQL, dan zal de volgende query alleen de eerste 8 tekens van die object-id extraheren, dat omzetten in een geheel getal (dat is seconden van 1970-01-01) en dat geheel getal vervolgens converteren naar een tijdstempel . Bijvoorbeeld:
SELECT TO_TIMESTAMP(int_val) ts_val
FROM (
SELECT ('x' || lpad(left(objectid,8), 8, '0'))::bit(32)::int AS int_val
FROM (
VALUES ('507c7f79bcf86cd7994f6c0e')
) AS t1(objectid)
) AS t2
;
Het converteren van een hexadecimale string naar een geheel getal wordt hier besproken:Converteer hex in tekstweergave naar decimaal getal