【发布时间】:2011-02-24 20:03:07
【问题描述】:
我需要在 T-SQL SELECT 语句(在 SQL Server 2000 上)中将 SQL Server DATETIME 值转换为 FILETIME。是否有内置功能可以做到这一点?如果没有,有人可以帮我弄清楚如何将此转换例程实现为 UDF(或只是简单的 Transact-SQL)吗?以下是我所知道的:
- FILETIME 是 64 位值,表示自 1601 年 1 月 1 日(UTC)(根据MSDN: FILETIME Structure)。
- SQL Server 基准时间从 1900-01-01 00:00:00 开始(按 SELECT CAST(0 as DATETIME))。
我找到了几个示例,展示了如何将 FILETIME 值转换为 T-SQL DATETIME(不过,我不能 100% 确定它们是准确的),但找不到任何关于反向转换的信息。即使是一般的想法(或算法)也会有所帮助。
【问题讨论】: