SSMS 2012:将DATETIME转换为Excel序列号

FBe*_*dge 5 sql t-sql sql-server date-manipulation sql-server-2012

我似乎无法在任何地方找到答案---我想将SQL中的日期时间转换为excel序列号.

我基本上是从excel中寻找DATEVALUE函数,但是在SQL中使用

关于如何做到这一点的任何想法?谢谢

Joh*_*tti 7

假设所需日期为2016-05-25

Select DateDiff(DD,'1899-12-30','2016-05-25')
Run Code Online (Sandbox Code Playgroud)

返回

 42515
Run Code Online (Sandbox Code Playgroud)

如果你也想要时间部分

Declare @Date datetime = '2016-05-25 20:00'
Select DateDiff(DD,'1899-12-30',@Date)+(DateDiff(SS,cast(@Date as Date),@Date)/86400.0)
Run Code Online (Sandbox Code Playgroud)

返回

42515.8333333
Run Code Online (Sandbox Code Playgroud)