Campo Time

2019-12-16 Thread Adelo

Hola a todos:

    Tengo una tabla con un campo time without time zone y en una 
consulta utilizo ese campo para filtrar. Durante las pruebas y por 
error, en un registro se grabó las 00:00:00 y en la consulta me estaba 
volviendo loco porque me devuelve que las 00:00:00 es mayor que las 
16:06:00.    He modificado el campo a las 00:00:01 y me devuelve 
correctamente que es menor que las 16:06:00.


    ¿Es normal este comportamiento?

    Gracias.

--
Adelo Herrero Pérez





Re: Campo Time

2019-12-16 Thread Alvaro Herrera
Adelo escribió:

>     Tengo una tabla con un campo time without time zone y en una consulta
> utilizo ese campo para filtrar. Durante las pruebas y por error, en un
> registro se grabó las 00:00:00 y en la consulta me estaba volviendo loco
> porque me devuelve que las 00:00:00 es mayor que las 16:06:00.    He
> modificado el campo a las 00:00:01 y me devuelve correctamente que es menor
> que las 16:06:00.

¿para qué quieres un campo time?  ¿qué representa -- una hora del día?
¿cómo sabes de qué día?  Yo te recomendaría no usar ese tipo de datos,
jamás.  Si quieres una duración (intervalo) de tiempo, usa interval.  Si
quieres una hora de un día preciso, usa timestamp with time zone (ojo:
no uses timestamp without time zone).

-- 
Álvaro Herrerahttps://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services




Re: Campo Time

2019-12-16 Thread Olivier Gautherot
Hola Álvaro!

On Mon, Dec 16, 2019 at 9:44 PM Alvaro Herrera 
wrote:

> Adelo escribió:
>
> > Tengo una tabla con un campo time without time zone y en una consulta
> > utilizo ese campo para filtrar. Durante las pruebas y por error, en un
> > registro se grabó las 00:00:00 y en la consulta me estaba volviendo loco
> > porque me devuelve que las 00:00:00 es mayor que las 16:06:00.He
> > modificado el campo a las 00:00:01 y me devuelve correctamente que es
> menor
> > que las 16:06:00.
>
> ¿para qué quieres un campo time?  ¿qué representa -- una hora del día?
> ¿cómo sabes de qué día?  Yo te recomendaría no usar ese tipo de datos,
> jamás.  Si quieres una duración (intervalo) de tiempo, usa interval.  Si
> quieres una hora de un día preciso, usa timestamp with time zone (ojo:
> no uses timestamp without time zone).
>

+1 para el "timestamp with time zone" - todavía estoy pagando la vez que no
puse la zona horaria :-)
Con una acotación: no es necesario si la aplicación funciona en UTC. Empecé
a usar esta práctica que tiene sus ventajas.

Saludos
--
Olivier Gautherot
https://www.linkedin.com/in/ogautherot/