sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo obtengo información de fecha/hora de una columna TIMESTAMP?

TIMESTAMP es un nombre desafortunado que el equipo de SQL Server le dio al tipo de datos. Es para simultaneidad y no tiene nada que ver con la fecha o la hora; recomendaron usar su alias, ROWVERSION para evitar confusiones. De este artículo de Books Online, "En declaraciones DDL, use la versión de fila en lugar de la marca de tiempo siempre que sea posible".

Desafortunadamente, no podrá derivar ningún detalle de fecha/hora de ROWVERSION columna que ya tiene, pero si esta información es importante, debe agregar las columnas Fecha de creación / Fecha de modificación, por ejemplo:

ALTER TABLE dbo.foo ADD CreatedDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP;
ALTER TABLE dbo.foo ADD ModifiedDate DATETIME NULL;

Luego crea un TRIGGER que se dispara en UPDATE para mantener el valor ModifiedDate actual. Es posible que deba decidir si desea que ModifiedDate sea NULL o igual a Fecha de creación en la inicialización.