Cargando



PostgreSQL - Tipos de Datos Temporal

En este tutorial veremos un poco más sobre los tipos de datos temporales que soporta PostgreSQL y algunas de sus características primarias.


oct 17 2013 18:28
Avanzado
oct 17 2013 18:45
Cuando en PostgreSQL nos referimos a tipos de datos temporal no quiere decir que sean tipos de datos que se mantienen por un tiempo y luego cambian, lo que queremos decir es el tipo de dato que maneja como almacenamos los tiempos y las fechas en los registros de la base de datos.

En cuanto al soporte a estos tipos de datos, el ofrecido por PostgreSQL es de un nivel superior, ya que además de los tipos de datos tradicionales de tiempo, también se ofrece soporte para zonas horarias e inclusive para los diferentes DST.

Tipos de Datos
  • date: Uno de los tipos más básicos junto con time, solo almacena el año, el mes y el día sin más añadidos, ni zonas horarias, tan simple como se describe así es.
  • time: Simplemente almacena horas, minutos y segundos, tampoco toma en cuenta las zonas horarias.
  • timestamp: Este tipo de dato almacena fecha y hora calendario en un mismo campo, tampoco tiene soporte para zona horaria.
  • timestamptz: En este punto es que vemos lo interesante de PostgreSQL, este tipo de dato almacena lo mismo que timestamp con el añadido de la zona horaria, de forma que el dato almacenado variará acorde a la zona horaria especificada en el servidor.
  • timetz: Almacena la hora sin la fecha, tomando en cuenta la zona horaria igualmente, además de estar consciente de los diferentes DST.
  • interval: Es un periodo de horas, minutos, segundos, días, meses, años, etc, que nos permite hacer aritméticas con las fechas, donde por ejemplo podemos querer saber cual es la fecha exacta a 50 días de la fecha actual, simplemente agregamos un intervalo con los parámetros deseados.

pg_tiposdedatos.jpg

Zonas Horarias

En PostgreSQL la zona horaria no es un dato aparte que se almacena en el campo correspondiente, si no que convierte lo que agregamos directamente a UTC y lo almacena de esta manera, sin embargo al momento de mostrar dicha fecha toma en cuenta la zona horaria donde está el servidor y muestra la conversión.

Al trabajar con este tipo de elementos debemos anticipar su comportamiento de forma de evitar males mayores por no haber sabido cómo se comportaría la conversión que maneja este tipo de datos que incluyen soporte para la zona horaria.


Operadores y funciones

La inclusión de los intervalos temporales en PostgreSQL ayudan bastante en cuanto al trabajo sobre el cálculo de las fechas, sin este soporte deberíamos crear internamente nuestras propias funciones para calcular las diferencias que necesitemos, utilizando así tiempo que podríamos invertir en otras fases de nuestros proyectos.

Veamos una imagen con algunos ejemplos de cómo utilizar dichas funciones:



pg_tiposdedatos2.jpg


Como podemos observar tenemos funciones básicas de adición y sustracción utilizando los intervalos con lo que podemos obtener las fechas necesarias, incluyendo soporte de zonas horarias con lo cual tenemos un nuevo horizonte de posibilidades.

Con esto finalizamos este tutorial, debemos aprender que al utilizar zonas horarias podemos tener grandes cambios en lo que pueda ver un usuario si no tomamos la previsión de su comportamiento.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X