我在SQL Server 2008中创建一个表,如下所示:
create table Dummy
(
id int,
status int,
node_id varchar(512),
createdDTTM datetime NOT NULL default CURRENT_TIMESTAMP
);
但是我想将UTC时区指定为默认值。我知道在postgreSQL中我们有类似的东西 createdDTTM TIMESTAMP NOT NULL DEFAULT (now() at time zone 'utc')
我们可以在这里做类似的事吗?
对于有时区信息的时间,请使用 DATETIMEOFFSET
在SQL Server中(2008年 和更新):
create table dbo.Dummy
(
id int,
status int,
node_id varchar(512),
createdDTTM DateTimeOffset NOT NULL default SYSDATETIMEOFFSET()
);
使用 SYSDATETIMEOFFSET()
您将获得默认的当前日期和时间 DATETIMEOFFSET
从SQL Server(在您的服务器所在的本地时区)。
或者也许你正在寻找 SYSUTCDATETIME()
相反,它以UTC格式提供当前日期和时间?这适用于 DATETIME2(n)
要么 DATETIMEOFFSET
列(在SQL Server中 2008年 更新,我推荐 不 使用 DATETIME
了)
对于有时区信息的时间,请使用 DATETIMEOFFSET
在SQL Server中(2008年 和更新):
create table dbo.Dummy
(
id int,
status int,
node_id varchar(512),
createdDTTM DateTimeOffset NOT NULL default SYSDATETIMEOFFSET()
);
使用 SYSDATETIMEOFFSET()
您将获得默认的当前日期和时间 DATETIMEOFFSET
从SQL Server(在您的服务器所在的本地时区)。
或者也许你正在寻找 SYSUTCDATETIME()
相反,它以UTC格式提供当前日期和时间?这适用于 DATETIME2(n)
要么 DATETIMEOFFSET
列(在SQL Server中 2008年 更新,我推荐 不 使用 DATETIME
了)