繁体   English   中英

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

[英]SSMS 2012: Convert DATETIME to Excel serial number

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

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

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

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

Select DateDiff(DD,'1899-12-30','2016-05-25')

返回

 42515

如果你也想要时间部分

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

返回

42515.8333333

您只需要将datetime值转换为int并添加1

SELECT CONVERT(INT,YourDate) + 1
FROM dbo.SomeTable;

使用排序规则:SQL_Latin1_General_CP1_CI_AS

你应该使用

Select DateDiff(DD,'18991230','20160525')

返回42515

您可以为getdate()或日期字段替换“20160525”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM