From: | Cleiton Luiz Domazak <cleitondomazak(at)gmail(dot)com> |
---|---|
To: | pgsql-pt-geral(at)lists(dot)postgresql(dot)org |
Subject: | Converter VARCHAR para TIMESTAMP com milleseconds ERROR: date/time field value out of range |
Date: | 2018-10-09 10:00:30 |
Message-ID: | CAKx1C8E=oCynMNtoyoTjvcmjYi7UHdXDX=T470CX9S9fVEAqNA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-pt-geral |
Eu tenho um campo com o segundo VARCHAR "2018-07-05T16:14:27.1427" e eu o
converto para timestamp com o seguinte select:
select last_run, to_char(to_timestamp(last_run,'yyyy-MM-dd HH24:mi:ss') -
interval '2 hour','yyyy-MM-dd"T"HH24:mi:ss"Z"') as new_last_run from
schedule_tasks;
Até a versão 9.6.10 do PostgreSQL tudo corria bem, mas agora estamos
migrando para a versão 10.5 e esse erro começou a ocorrer. O mesmo acontece
na versão 11.
Já fiz várias mudanças de datastyle e timezone e nada interfere, inclusive
todas as 3 versões testadas(9.6.10, 10.5 e 11) estavam com o mesmo conf.
O que eu notei é que na 9.6, quando eu tenho um campo com milleseconds com
mais de 3 caracteres, o primeiro digito é adicionado aos segundos:
2018-07-05T16:14:2*8.427*.
Detalhe, se o campo tiver apenas 3 caracteres em milleseconds, funciona!
Não sei se isso foi uma mudança realizada nas novas versões e terei que
lidar com isso, ou se trata de um bug.
From | Date | Subject | |
---|---|---|---|
Next Message | Cleiton Luiz Domazak | 2018-10-09 12:24:25 | Re: Converter VARCHAR para TIMESTAMP com milleseconds ERROR: date/time field value out of range |
Previous Message | Vinicius Santos | 2018-10-04 15:09:17 | Descobrir arquiterura dos arquivoz |