PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Microsoft Hex-Daten

select CAST (0x00009CEF00A25634 as datetime) ergibt 2009-12-30 09:51:03.000

Dies sind zwei ganze Zahlen. Einer für den Datumsteil 0x00009CEF (dezimal 40175) und eine für den Zeitteil 00A25634 (dezimal 10638900). Der Datumsteil ist eine Ganzzahl mit Vorzeichen, die die Anzahl der Tage seit dem 1. Januar 1900 angibt. Der Zeitteil ist eine Ganzzahl, die die Anzahl der Ticks darstellt.

Es gibt 300 Ticks in einer Sekunde.

Es ist ersichtlich, dass das Folgende auch das gleiche Ergebnis zurückgibt

SELECT DATEADD(MILLISECOND,10638900*10/3.0, DATEADD(DAY,40175, '19000101'))

Sie müssen herausfinden, wie Sie dies auf postgres anwenden .

Bearbeiten:eine Antwort hier tut dies offenbar. Ich habe es nicht selbst getestet.