Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak uzyskać informacje o dacie/godzinie z kolumny TIMESTAMP?

TIMESTAMP to niefortunna nazwa, którą zespół SQL Server nadał typowi danych. Służy do współbieżności i nie ma nic wspólnego z datą ani godziną — zaleca się używanie jego aliasu ROWVERSION aby zapobiec zamieszaniu. Z tego artykułu Books Online:„W instrukcjach DDL używaj rowversion zamiast sygnatury czasowej, gdy tylko jest to możliwe”.

Niestety nie będziesz w stanie uzyskać żadnych szczegółów daty/godziny z ROWVERSION kolumnę, którą już masz, ale jeśli ta informacja jest ważna, powinieneś dodać kolumny Data utworzenia / Data modyfikacji, na przykład:

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

Następnie utwórz TRIGGER uruchamia się po UPDATE aby zachować aktualną wartość Data modyfikacji. Być może trzeba będzie zdecydować, czy data modyfikacji ma być NULL lub równy Data utworzenia podczas inicjalizacji.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Łączenie trzech stołów z łączeniami innymi niż INNER JOIN

  2. Dołączanie do rekordu daty MAX w grupie

  3. Utwórz wyzwalacz DML w SQL Server

  4. SQL Server — najlepszy sposób na uzyskanie tożsamości wstawionego wiersza?

  5. Transpozycja wierszy i kolumn bez agregatu