Dalam dokumentasi Mongodb Objectid dibentuk dengan cap waktu sebagai 4 byte pertama, tetapi ini direpresentasikan dalam heksadesimal. Dengan asumsi bahwa nilai heksadesimal disimpan sebagai string di PostgreSQL, maka kueri berikut hanya akan mengekstrak 8 karakter pertama dari objectid itu, mengonversinya menjadi integer (yaitu detik dari 1970-01-01) lalu mengonversi integer itu menjadi stempel waktu . Misalnya:
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
;
Mengonversi string heksadesimal ke integer dibahas di sini:Konversi hex dalam representasi teks ke angka desimal