sql >> Databasteknik >  >> RDS >> Sqlserver

Hur får jag information om datum/tid från en TIMESTAMP-kolumn?

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.



  1. sqlalchemy.exc.NoSuchModuleError:Kan inte ladda plugin:sqlalchemy.dialects:postgres

  2. Söka Microsoft Access-data med Elasticsearch

  3. Hur ändrar jag MySQL-datakatalog?

  4. Foreach or For – Det är frågan