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
DATETIMEestá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:
- DATE: En el estándar SQL original, solo guarda la fecha (2023-10-25). Sin embargo, ten cuidado porque en Oracle, el tipo
DATEcuriosamente sí incluye la hora. - TIME: Solo guarda la hora del día (14:30:00), sin saber a qué día pertenece.
- 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_creacioncomoTIMESTAMP 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.