【问题标题】:Whiel Update ,datetime value is rounded to seconds.! i want milliseconds too更新时,日期时间值四舍五入到秒。!我也想要毫秒
【发布时间】:2011-02-18 13:12:14
【问题描述】:

在从另一个表更新表中的数据时间列时,我注意到毫秒值未显示..而是四舍五入并将值更新为最接近的秒数。

例子:

原值:2008-06-26 14:06:36.643

更新值:2008-06-26 14:07:00

请帮我获取包括毫秒在内的实际值

【问题讨论】:

  • 你更新的怎么样了? SQL 是什么样的?你用的是什么数据库?
  • 嗨,它的更新 tblTemp set dtUpdateDate = f.dtUpdateDate from tblTemp2 f 。 .its MSsqlserver 2008

标签: sql sql-server-2008 types


【解决方案1】:

在 SQL Server 中;

SELECT CAST('2008-06-26 14:06:36.643' AS SMALLDATETIME)

> 2008-06-26 14:07:00

所以目标表列可能是SMALLDATETIME(或您在查询中的转换)。

【讨论】:

  • 我不需要 2008-06-26 14:07:00 我需要 2008-06-26 14:06:36.643 本身-这不会发生..它会自动将其四舍五入到秒..和两列都是日期时间数据类型
  • 仔细检查目标列不是 SMALLDATETIME,如果不是,那么您需要显示 SQL。
  • 嘿,你对。抱歉打扰你了 :)
【解决方案2】:

如果您直接更新一个表中的日期时间,而另一个表中的日期时间(即不摆弄值),那么听起来正在更新的表中的数据类型是不一样的。

即在 SQL Server 世界中,可能是您在正在更新的表中使用 SMALLDATETIME 列,但正在从中复制表中的 DATETIME 字段。 SMALLDATETIME 仅精确到秒,因此会显示这种行为

【讨论】:

  • 伙计们,你是对的......它的小日期时间在一个......我真是个愚蠢的......:)非常感谢您指出
猜你喜欢
  • 2017-12-26
  • 2021-12-16
  • 1970-01-01
  • 2013-12-21
  • 2011-03-28
  • 2022-08-18
  • 2013-04-08
  • 2022-06-13
  • 2011-02-21
相关资源
最近更新 更多