TIMESTAMP
är ett olyckligt namn som SQL Server-teamet gav datatypen. Det är för samtidighet och har ingenting att göra med datum eller tid - de har rekommenderat att du använder dess alias, ROWVERSION
för att förhindra förvirring. Från denna Books Online-artikel, "I DDL-satser, använd rowversion istället för tidsstämpel där det är möjligt."
Tyvärr kommer du inte att kunna härleda någon information om datum och tid från ROWVERSION
kolumn du redan har, men om denna information är viktig bör du lägga till CreatedDate / ModifiedDate-kolumner, till exempel:
ALTER TABLE dbo.foo ADD CreatedDate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP;
ALTER TABLE dbo.foo ADD ModifiedDate DATETIME NULL;
Skapa sedan en TRIGGER
som aktiveras vid UPDATE
för att hålla ModifiedDate-värdet aktuellt. Du kan behöva bestämma om du vill att ModifiedDate ska vara NULL
eller lika med CreatedDate vid initiering.