如何从SQL Server中的Ticks中删除时间组件

时间:2017-10-23 11:50:35

标签: sql sql-server datetime

我在SQL Server中有一个以datetime形式表示Ticks的列,因此列类型为BigInt

我想从列中删除时间组件,只留下代表日期的Ticks

这可能吗?

2 个答案:

答案 0 :(得分:3)

据推测,你可以通过分裂来做到这一点。我不知道" tick"是。但是说这是一毫秒:

select (ticks / (24 * 60 * 60 * 1000)) as start_of_day_ticks

如果滴答是微秒,那么您将使用1000000

答案 1 :(得分:2)

“Ticks”我假设你的意思是:“自0001年1月1日午夜12:00:00起经过的100纳秒间隔的数量”。

那应该这样做:

select Ticks - (Ticks % 864000000000)