[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