¿Qué es exactamente TIMESTAMP?

El TIMESTAMP es un tipo de dato «compuesto» que se utiliza para almacenar un instante preciso en el tiempo. A diferencia de otros tipos temporales más simples, su función es capturar el momento exacto en que ocurre un evento.

  • Composición: Es la unión de una Fecha (año, mes, día) y una Hora (horas, minutos, segundos).
  • Precisión: Además de los segundos, la mayoría de los sistemas (como Oracle o SQL Server) permiten que el TIMESTAMP almacene fracciones de segundo (milisegundos o microsegundos), lo que lo hace mucho más preciso que el tipo DATETIME estándar en ciertos contextos.
  • Formato estándar: Generalmente se visualiza como AAAA-MM-DD HH:MM:SS.nnnnnn.
Diferencias clave con otros tipos:

Para que no haya confusión al diseñar tus tablas con DDL, recuerda estas distinciones:

  1. DATE: En el estándar SQL original, solo guarda la fecha (2023-10-25). Sin embargo, ten cuidado porque en Oracle, el tipo DATE curiosamente sí incluye la hora.
  2. TIME: Solo guarda la hora del día (14:30:00), sin saber a qué día pertenece.
  3. TIMESTAMP: Es el más completo. Algunos sistemas ofrecen el TIMESTAMP WITH TIME ZONE, que además guarda el desfase horario respecto al meridiano de Greenwich (UTC), algo vital para aplicaciones globales.
Uso práctico en el DDL

Cuando definas una tabla, es muy común usarlo para auditoría. Por ejemplo:

  • Campos de registro: Se suele definir una columna llamada fecha_creacion como TIMESTAMP DEFAULT CURRENT_TIMESTAMP. Esto hace que el sistema anote automáticamente la fecha y hora exacta en la que se inserta un dato sin que el usuario tenga que escribirla.
El concepto de «Marca de Tiempo» en el documento

El tema subraya que estos tipos de datos son fundamentales para la integridad y el control de concurrencia. Al saber exactamente cuándo se modificó un dato, el sistema puede evitar que dos personas sobrescriban la misma información al mismo tiempo.