TIMESTAMP
est un nom malheureux que l'équipe SQL Server a donné au type de données. C'est pour la simultanéité et n'a rien à voir avec la date ou l'heure - ils ont recommandé d'utiliser son alias, ROWVERSION
pour éviter les confusions. Dans cet article de la documentation en ligne, "Dans les instructions DDL, utilisez rowversion au lieu de timestamp dans la mesure du possible."
Malheureusement, vous ne pourrez pas déduire les détails de date/heure de la ROWVERSION
colonne que vous avez déjà, mais si cette information est importante, vous devez ajouter des colonnes CreatedDate / ModifiedDate, par exemple :
ALTER TABLE dbo.foo ADD CreatedDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP;
ALTER TABLE dbo.foo ADD ModifiedDate DATETIME NULL;
Créez ensuite un TRIGGER
qui se déclenche sur UPDATE
pour conserver la valeur ModifiedDate actuelle. Vous devrez peut-être décider si vous voulez que la ModifiedDate soit NULL
ou égal à CreatedDate à l'initialisation.