PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Datas hexadecimais da Microsoft


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

Isso são dois números inteiros. Um para a parte da data 0x00009CEF (decimal 40175) e um para a parte de tempo 00A25634 (decimal 10638900). A parte da data é um número inteiro com sinal que fornece o número de dias desde 1º de janeiro de 1900. A parte da hora é um número inteiro que representa o número de tiques.

Há 300 tiques em um segundo.

Pode-se ver que o seguinte também retorna o mesmo resultado
SELECT DATEADD(MILLISECOND,10638900*10/3.0, DATEADD(DAY,40175, '19000101'))

Você precisará descobrir como aplicar isso ao postgres .

Editar:uma resposta aqui aparentemente faz isso. Eu mesmo não testei.