17 - Tipo de dato fecha y hora


Ya explicamos que al crear una tabla debemos elegir la estructura adecuada, esto es, definir los campos y sus tipos más precisos, según el caso.

Para almacenar valores de tipo FECHA Y HORA PostgreSQL dispone de tres tipos:

1) date: almacena una fecha en el rango de 4713 antes de crísto hasta 32767 después de cristo.

2) time: Almacena la hora del día.

3) timestamp: Almacena la fecha y la hora del día.

Las fechas se ingresan entre comillas simples.

Para almacenar valores de tipo fecha se permiten como separadores "/", "-","." entre otros.

PostgreSQL requiere que se ingrese la fecha con el formato aaaa/mm/dd:

 insert into empleados values('Ana Gomez','22222222','2008/12/31');

PostgreSQL permite configurar el formato de ingreso de la fecha seteando la variable de entorno llamada DATESTYLE:

SET DATESTYLE TO 'European';

Con el ejemplo anterior luego podemos ingresar una fecha con el formato Europeo que es dd/mm/aaaa:

 insert into empleados values('Pablo Rodriguez','11111111','31/12/2008');

Otros valores de seteo son:

ISO          utiliza fechas y horas de estilo ISO 8601.

SQL          utiliza fechas y horas de estilo Oracle/Ingres.

Postgres     utiliza el formato tradicional de Postgres.

European     utiliza dd/mm/aaaa para la representación numérica de las fechas.

NonEuropean  utiliza mm/dd/aaaa para la representación numérica de las fechas.

German       utiliza dd.mm.aaaa para la representación numérica de las fechas.

US           igual que 'NonEuropean'

DEFAULT      recupera los valores por defecto ('US,Postgres')

Para almacenar solo la hora debemos utilizar el tipo time. En un campo tipo time podemos almacenar un valor en el rango: 00:00:00.00 23:59:59.99.

 insert into asistencia(fecha,hora) values ('2008/12/31','13:00:59');

Por último si queremos almacenar la fecha y la hora en un único campo debemos definirlo de tipo timestamp:

 insert into asistencia (fechahora) values ('2008/12/31 13:00:00.59');

Retornar