gpt4 book ai didi

sql-server - SQL Server GetUTCDate 默认无效

转载 作者:搜寻专家 更新时间:2023-10-30 22:11:01 26 4
gpt4 key购买 nike

使用 Microsoft SQL Server 我希望列默认具有当前 UTC 日期和时间。当插入一行并且没有为该列指定值时,它应该默认为服务器上的 UTC 日期。

我创建表:

CREATE TABLE [dbo].[Status]
(
[ProcessNam] [varchar](30) NOT NULL,
[LastCheckIn] [datetime2] NOT NULL DEFAULT GETUTCDATE(),
[Failures] [tinyint] NOT NULL DEFAULT ((0)),

CONSTRAINT [PK_AST_PING]
PRIMARY KEY CLUSTERED ([ProcessNam] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

但是当我使用时:

INSERT INTO dbo.Status VALUES ('TEST', '', '')

该列最终包含 1900-01-01 00:00:00.000000

如果我用

SELECT GETUTCDATE()

返回正确的时间戳。

最佳答案

您正在插入“”(空字符串)作为 LastCheckIn 值,因此未使用默认值。试试这个;

INSERT INTO DBO.STATUS (ProcessNam) VALUES ('TEST')

由于 DateTimes 的解析方式,'' 等同于 0(零)并且由于 DateTimes 的存储方式,0 等于 1900-01-01 00:00:00.000000。

关于sql-server - SQL Server GetUTCDate 默认无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29082080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com