Skype持久聊天时间戳转换

时间:2018-03-22 06:39:48

标签: sql-server skype skype-for-business

我正在构建一个工具,显示Skype持久聊天信息以及参与者信息。对于其中一个要求,我需要在给定的日期范围内过滤tblComplianceParticipant表。

我尝试了很多不同的方法来转换tblComplianceParticipant。“加入”列到人类可读的格式,例如“yyyy-mm-dd'等”,但到目前为止还没有运气。此列中的数据是18位数字,以" 63"开头。例如636572952018269911和636455769656388453。

这些值也不在' windows文件时间'格式,因为https://www.epochconverter.com/ldap给出了具有上述值的未来日期。

我试着在18 digit timestamp to Local Time上查看@ JonSkeet的答案,但那是c#具体的。我试图在SQL中复制类似的逻辑,但没有运气。

有没有办法将这18位数转换成正常日期格式并执行where子句?

2 个答案:

答案 0 :(得分:0)

提供所需输出的在线转换器:https://www.venea.net/web/net_ticks_datetime_converter#net_ticks_to_date_time_and_unix_timestamp_conversion

但是,我正在寻找自己转换它的底层逻辑,因为我需要在SQL server存储过程中执行where子句。

我们的Skype管理员为我提供了一个SQL功能(fnDateToTicks),它是Skype数据库(mgc)的一部分(之前,我没有获得许可,所以看不到它)。我正在与他核实这是微软的内部IP还是标准解决方案,以便我可以与更大的社区分享。

答案 1 :(得分:-1)

我能想到的唯一值得尝试的事情是:

select CAST ([Timestamp Column]  as datetime)

将格式化为yyyy-mm-dd 00:00:00:000

这可能适用于SQL Server 2008及更高版本