sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan får jeg oplysninger om dato/klokkeslæt fra en TIMESTAMP-kolonne?

TIMESTAMP er et uheldigt navn, som SQL Server-teamet gav datatypen. Det er for samtidighed og har intet at gøre med dato eller klokkeslæt - de har anbefalet at bruge dets alias, ROWVERSION for at forhindre forvirring. Fra denne Books Online-artikel, "I DDL-udsagn, brug rækkeversion i stedet for tidsstempel, hvor det er muligt."

Desværre vil du ikke være i stand til at udlede nogen dato/klokkeslæt detaljer fra ROWVERSION kolonne, du allerede har, men hvis disse oplysninger er vigtige, bør du tilføje kolonner for CreateDate / ModifiedDate, for eksempel:

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

Opret derefter en TRIGGER der udløses på UPDATE for at holde ModifiedDate-værdien aktuel. Du skal muligvis beslutte, om du ønsker, at ModifiedDate skal være NULL eller lig med CreatedDate ved initialisering.



  1. Sådan slettes lagret procedure i MySQL

  2. PERIOD_DIFF() Eksempler – MySQL

  3. Toptendenser inden for databasestyring

  4. problem med at finde listen over filer i mappen