SQL Server 中可读格式的时间戳

Posted

技术标签:

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

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

【问题讨论】:

嗯,SQL Server 中的timestamp 不包含日期和时间。这是完全不同的东西(如果我没记错的话,也会被弃用)。如果您想要日期和时间,请使用 datetime2 【参考方案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 谢谢,你是正确的,像往常一样:-)。固定。

以上是关于SQL Server 中可读格式的时间戳的主要内容,如果未能解决你的问题,请参考以下文章

数据库SQL SERVER 2008 R2 时间戳如何转换成时间格式

如何将 SQL Server 的时间戳列转换为日期时间格式

SQL Server - 以 HH:MM:SS 格式计算两个日期时间戳之间的经过时间

了解时间戳 - 1505143211567 (Oracle DB)

如何将字符串时间戳更改为人类可读的日期格式? [复制]

将人类可读的日期转换为纪元时间戳