[Pgsql-ayuda] Definir un campo de hora.

Roberto Andrade Fonseca randrade@abl.com.mx
15 Jan 2002 19:46:56 -0600


Hola Ariel:

El lun, 14-01-2002 a las 17:00, Ariel Nardelli escribi=F3:
=20
> Quiero definir en mi base de datos un campo de hora, y quiero guardarla e=
n=20
> formato 24 horas y solo hora y minutos y asi guardarla para poder despues=
=20
> hacer algun tipo de resta con esas horas desde php.
>=20
> Como hago para definirlo? si bien estube mirando el formato TIME me permi=
te=20
> definir los tipos de hora que quiero armar, quiero saber como setear ese=20
> formato del time para que me tome HH:MM y que HH sea en formato 24 horas.

Hice lo que sigue, en psql:
Primero crear una tabla de pruebas

	create table prueba_tiempo (
	fecha_ingreso date,
	hora_ingreso time);

Luego insertar algunos datos.
	insert into prueba_tiempo values (date(now()), '20:40');
	insert into prueba_tiempo values (date(now()), '08:40');
	insert into prueba_tiempo values (date(now()), '8:50');

Observa que escribo en formato de 24 horas, y que da igual '08' que '8'.
Tampoco defin=ED segundos, as=ED que su valor en la base de datos ser=E1 '0=
0'.

Ahora la salida del select:
pruebas=3D# select * from prueba_tiempo ;

 fecha_ingreso | hora_ingreso=20
---------------+--------------
 2002-01-15    | 20:40:00
 2002-01-15    | 08:40:00
 2002-01-15    | 08:50:00
(3 rows)

La hora sale con formato de 24 horas.

Puedes obtener intervalos con la funci=F3n time_mi_time (tiempo menos
tiempo) de PostgreSQL:

pruebas=3D# select time_mi_time('08:40:00' ,'20:50:00');
 time_mi_time=20
--------------
 12:10
(1 row)

Espero que te sirva, pero en caso contrario m=E1ndanos tus nuevas dudas.

--=20
Saludos,

Roberto Andrade Fonseca
randrade@abl.com.mx