如何在SQL Server中模拟MySQL的时间戳数据类型

时间:2014-09-29 15:41:18

标签: mysql sql-server timestamp

MySQL有一种名为timestamp的数据类型。这是一个日期时间字段,当记录中的任何数据发生更改时,该字段将更新为now()。

如何在SQL Server中实现相同的行为?

我了解SQL Server中的rowversion数据类型。我不想要这个 - 我想要一个自动更新日期时间值。

2 个答案:

答案 0 :(得分:0)

创建一个INSTEAD OF INSERT触发器,在其中插入表,从INSERTED中选择所有列,除了要始终反映当前日期时间的日期时间列,并为该列插入GETDATE()。

然后创建一个INSTEAD OF UPDATE触发器,并执行类似操作,对插入的表运行UPDATE语句,使用GETDATE()为该特定列。

答案 1 :(得分:0)

要模拟MySQL的TIMESTAMP列,您需要DATETIME2(7)列和INSTEAD OF UPDATE触发器。并使用SYSDATETIME函数填充datetime2列。