Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да получа информация за дата/час от колона TIMESTAMP?

TIMESTAMP е жалко име, което екипът на SQL Server даде на типа данни. Той е за едновременност и няма нищо общо с датата или часа - те препоръчаха да използвате неговия псевдоним, ROWVERSION за да се предотврати объркване. От тази статия в Books Online, „В DDL изразите използвайте версия на ред вместо времеви печат, където е възможно.“

За съжаление няма да можете да извлечете подробности за дата/час от ROWVERSION колона, която вече имате, но ако тази информация е важна, трябва да добавите колони CreatedDate / ModifiedDate, например:

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

След това създайте TRIGGER който се задейства при UPDATE за да поддържате стойността на ModifiedDate актуална. Може да се наложи да решите дали искате ModifiedDate да бъде NULL или равно на CreatedDate при инициализация.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Свързване към SQL Server LocalDB чрез JDBC

  2. Как да проверите кои брави се държат на маса

  3. Надстройка на платформата за данни на SQL Server през 2015 г

  4. Как да извлека десетични знаци при закръгляване на средна стойност в SQL

  5. LINQ to SQL Take без пропускане Причинява множество SQL изрази