我需要在SQL Server 2000的T-SQL SELECT语句中将SQL Server DATETIME值转换为FILETIME。是否有内置函数可以实现此功能?如果没有,是否有人可以帮助我找出如何将此转换例程实现为UDF(或仅使用Transact-SQL)?这是我所知道的:
- FILETIME是64位值,表示自1601年1月1日(UTC)以来的100纳秒间隔数(每MSDN:FILETIME结构)。
- SQL Server基准时间从1900-01-01 00:00:00开始(每SELECT CAST(0 as DATETIME))。
我发现了几个示例,展示了如何将FILETIME值转换为T-SQL DATETIME(尽管我不确定它们是否准确),但找不到任何关于反向转换的内容。即使是一般的想法(或算法)也会有所帮助。