Re: Converter VARCHAR para TIMESTAMP com milleseconds ERROR: date/time field value out of range

From: Cleiton Luiz Domazak <cleitondomazak(at)gmail(dot)com>
To: osvaldo(dot)kussama(at)gmail(dot)com, pgsql-pt-geral(at)lists(dot)postgresql(dot)org
Subject: Re: Converter VARCHAR para TIMESTAMP com milleseconds ERROR: date/time field value out of range
Date: 2018-10-09 12:24:25
Message-ID: CAKx1C8HEVdx3k4r0zt6curRevNH8-T4HrVY2JgsHT6MxhNdfrQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-pt-geral

On Tue, Oct 9, 2018 at 1:21 PM Osvaldo Kussama <osvaldo(dot)kussama(at)gmail(dot)com>
wrote:

> Em 09/10/2018, Cleiton Luiz Domazak<cleitondomazak(at)gmail(dot)com> escreveu:
> > 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.
> >
>
> Não entendi sua dúvida.
> Cada 1.000 milisegundos não corresponde exatamente a 1 segundo?
>
Exato, minha dúvida é, por que a partir da versão 10, esse comportamente
mudou, e ocorre um erro ao converter o mesmo valor.

Se o valor de MS for até 999 tudo certo, mas caso seja maior que 999, na
versão 10 ocorre erro.

>
> Osvaldo
>

In response to

Responses

Browse pgsql-pt-geral by date

  From Date Subject
Next Message Arthur Nascimento 2018-10-09 13:23:05 Re: Converter VARCHAR para TIMESTAMP com milleseconds ERROR: date/time field value out of range
Previous Message Cleiton Luiz Domazak 2018-10-09 10:00:30 Converter VARCHAR para TIMESTAMP com milleseconds ERROR: date/time field value out of range