【问题标题】:Timestamp in SQL Server in readable formatSQL Server 中可读格式的时间戳
【发布时间】:2020-09-05 06:21:14
【问题描述】:

我在 SQL Server 数据库中创建了一个记录时间戳的列。但是时间戳是这样的0x000000000000177F。有没有办法将此时间戳转换为日期和时间(可读)?

【问题讨论】:

  • 嗯,SQL Server 中的timestamp 不包含日期和时间。这是完全不同的东西(如果我没记错的话,也会被弃用)。如果您想要日期和时间,请使用 datetime2

标签: sql-server tsql sqldatatypes


【解决方案1】:

Timestamp 在 SQL Server 中(这个名字的选择太糟糕了!)是 rowversion 数据类型的同义词 - 并且,正如 a_horse_with_no_name 在他的评论中所写 - 已弃用,可能会在较新的版本中删除SQL Server 的。

来自rowversion (Transact-SQL) 文档页面:

timestamprowversion 数据类型的同义词,受数据类型同义词的行为影响。在 DDL 语句中,尽可能使用 rowversion 而不是 timestamp

Transact-SQL timestamp 数据类型与 ISO 标准中定义的 timestamp 数据类型不同

(强调我的。)

还有:

注意
timestamp 语法已弃用。此功能处于维护模式,可能会在 Microsoft SQL Server 的未来版本中删除。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。

【讨论】:

  • 次要,次要的挑剔,但文档只是说它可能在未来的版本中被删除,而不是它会被删除。在 SQL Server 中标记为已弃用的绝大多数功能实际上并没有被删除,因为它们的弃用标记上升了,而 timestamp 是否真的会像渡渡鸟一样走下去是任何人的猜测。
  • @JeroenMostert 谢谢,你是正确的,像往常一样:-)。固定。
猜你喜欢
  • 1970-01-01
  • 2011-07-21
  • 2015-05-12
  • 1970-01-01
  • 2016-08-23
  • 2014-09-21
  • 1970-01-01
  • 2015-12-14
相关资源
最近更新 更多