Re: ERROR: date/time field value out of range

From: Hellmuth Vargas <hivs77(at)gmail(dot)com>
To: Francisco Olarte <folarte(at)peoplecall(dot)com>
Cc: Lista Postgres ES <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: ERROR: date/time field value out of range
Date: 2019-11-13 18:48:38
Message-ID: CAN3Qy4pBO4aTVdoQ+xaEvES0kmyOsD7r4QV+8hLpunHUtcCeLQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Francisco

Mil y Mil Gracias!!! me hizo ver el error, claro: los formatos MS y US
serian mutuamente excluyentes al extraerlos en mi caso!! <http://ss.ms.us/>

El mié., 13 de nov. de 2019 a la(s) 13:42, Francisco Olarte (
folarte(at)peoplecall(dot)com) escribió:

> Hellmuth, me parece que te estas liando:
>
> Te reordeno un poco las citas...:
>
>
> On Wed, Nov 13, 2019 at 7:08 PM Hellmuth Vargas <hivs77(at)gmail(dot)com> wrote:
> > SELECT sum(xact_commit+xact_rollback)::bigint as cantidad,
> to_char(now(),'YYYY-MM-DD HH24:MI:SS.MS.US') as fecha,inet_server_addr()
> FROM pg_stat_database;
>
> Aqui estas seleccionando milisegundos y microsegundos, elige uno,
> micros ya incluye los milis. Tu query da:
>
> > insert into temp(ip_host, tps, fecha) values
> ('192.168.XX.YY',100552098,'2019-11-13 11:34:45.656.656301'::timestamp);
>
> Fijate en el ultimo numero, el de segundos. "45.656.656301". Eso tiene
> que ser un numero con fraccion, es decir 45.656 te iria, 45.656301,
> que probablemente es lo que quieres tambien. Fijate como micros tiene
> 6 cifras, las de milis mas otras tres extra.
>
> > ya me documente y desde la versión pg 10 valida la fecha/hora
>
> No es un problema de validacion, es que ....
>
> > la inserción genero el error... lo ironico es que fue el motor pg 9.6
> que genero esta fecha y ahora el motor pg 10 lo rechaza!!!
>
> El motor genero esa fecha con un "to_char", que genera una cadena, si
> pones "to_char(YYYY-YYYY-YYYY)" tampoco entrara. To_char te permite
> generar cadenas arbitrarias. Otra cosa distinta seria que la hubieses
> generado con "cast(now() as text)", sin parametrizar.
>
> > hay alguna manera de subsanarlo??? sea: que el la 9.6 genere el dato
> valido o en la 10 lo ajuste antes de insertarlo. Gracias lista
>
> Elige milis o micros, probablemente micros porque lo que quieres es
> pasar la maxima precision.
>
> Francisco Olarte.
>

--
Cordialmente,

Ing. Hellmuth I. Vargas S.
Esp. Telemática y Negocios por Internet
Oracle Database 10g Administrator Certified Associate
EnterpriseDB Certified PostgreSQL 9.3 Associate

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Francisco Olarte 2019-11-13 18:57:30 Re: ERROR: date/time field value out of range
Previous Message Francisco Olarte 2019-11-13 18:41:47 Re: ERROR: date/time field value out of range