gpt4 book ai didi

visual-studio - 将带有 GetDate() 函数的日期时间值插入 SQL Server (2005) 表?

转载 作者:行者123 更新时间:2023-12-04 05:55:47 27 4
gpt4 key购买 nike

我正在处理(或修复错误)一个使用 VS 2005 C# 开发的应用程序。该应用程序将数据保存到 SQL Server 2005。插入 SQL 语句之一尝试将时间戳值插入到具有 GetDate() TSQL 函数的字段中作为日期时间值。

Insert into table1 (field1, ... fieldDt) values ('value1', ... GetDate());

使用 GetDate() 函数的原因是 SQL 服务器可能在远程站点,并且日期时间可能在不同的时区。因此,GetDate() 将始终从服务器获取日期。由于可以在 SQL Management Studio 中验证该函数,因此我得到的是:

SELECT GetDate(), LEN(GetDate());
-- 2010-06-10 14:04:48.293 19

我意识到的一件事是长度不超过毫秒,即 19 实际上是“2010-06-10 14:04:48”。无论如何,我现在遇到的问题是,在插入之后,fieldDt 实际上有一个最多分钟的日期时间值,例如,'2010-06-10 14:04:00'。我不确定为什么。我无权使用更新字段的触发器来更新或更改表。

我的问题是,如何使用 INSERT T-SQL 添加具有日期时间值(SQL 服务器的本地日期时间)且精度高达毫秒的新行?

最佳答案

检查你的表。我的猜测是 FieldDT 列的数据类型为 SmallDateTime,它存储日期和时间,但精确到最近的分钟。如果我的猜测是正确的,除非更改列的数据类型,否则您将无法存储秒或毫秒。

关于visual-studio - 将带有 GetDate() 函数的日期时间值插入 SQL Server (2005) 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3018633/

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