sql >> Base de Datos >  >> RDS >> PostgreSQL

Fechas hexadecimales de Microsoft

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

Esto es dos números enteros. Uno para la parte de la fecha 0x00009CEF (decimal 40175) y uno para la parte de tiempo 00A25634 (decimal 10638900). La parte de la fecha es un número entero con signo que indica el número de días desde el 1 de enero de 1900. La parte de la hora es un número entero que representa el número de tics.

Hay 300 tics en un segundo.

Se puede ver que lo siguiente también devuelve el mismo resultado

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

Deberá descubrir cómo aplicar esto a postgres .

Editar:una respuesta aquí aparentemente hace esto. No lo he probado yo mismo.