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) 文档页面:
timestamp
是rowversion
数据类型的同义词,受数据类型同义词的行为影响。在 DDL 语句中,尽可能使用rowversion
而不是timestamp
。Transact-SQL
timestamp
数据类型与 ISO 标准中定义的timestamp
数据类型不同。
(强调我的。)
还有:
注意
timestamp
语法已弃用。此功能处于维护模式,可能会在 Microsoft SQL Server 的未来版本中删除。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。
【讨论】:
次要,次要的挑剔,但文档只是说它可能在未来的版本中被删除,而不是它会被删除。在 SQL Server 中标记为已弃用的绝大多数功能实际上并没有被删除,因为它们的弃用标记上升了,而timestamp
是否真的会像渡渡鸟一样走下去是任何人的猜测。
@JeroenMostert 谢谢,你是正确的,像往常一样:-)。固定。以上是关于SQL Server 中可读格式的时间戳的主要内容,如果未能解决你的问题,请参考以下文章
数据库SQL SERVER 2008 R2 时间戳如何转换成时间格式
SQL Server - 以 HH:MM:SS 格式计算两个日期时间戳之间的经过时间