首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将日期时间( Server)转换为Excel日期时间?

问如何将日期时间( Server)转换为Excel日期时间?
EN

Stack Overflow用户
提问于 2018-03-23 14:59:27
回答 3查看 8.2K关注 0票数 1

问题:我想将Server的datetime转换为Excel格式。

示例1:从2018-08-23 15:32:32.000到43335,65

示例2:从1985-03-26 10:35:42.000到31132,44

我尝试过的:受this答案的启发,我尝试了以下查询

代码语言:javascript
复制
SELECT DATEDIFF(day, @MyDatetime, GETDATE())

如果你想转换一个日期(没有小时),但是如何转换时间,那么哪种方法是可行的?

在Excel中,时间保存在数字的小数部分,所以我尝试使用

代码语言:javascript
复制
SELECT DATEDIFF(SECOND, '1899/12/30 00:00:00.000', GETDATE())

但这会导致溢出错误。

datediff函数导致溢出。分隔两个日期/时间实例的日期部分数量太大。尝试在不太精确的日期部分使用datediff。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-03-23 15:11:34

你可以用CAST

代码语言:javascript
复制
select CAST(GETDATE() as float)+2

如何在Excel中运行日期:https://www.excelcampus.com/functions/how-dates-work-in-excel/

基本上,任何日期都可以存储为自1900年1/1/1900以来的天数。时间是小数值,等于(number_of_seconds_since_midnight)*(1/(24*60*60))

需要从不同的开始日期添加2天作为Excel和SQL计数天数。

希望这一切都有意义。

票数 5
EN

Stack Overflow用户

发布于 2018-03-23 15:08:42

将DATETIME转换为FLOAT并添加2

示例

代码语言:javascript
复制
Declare @D datetime = '2018-08-23 15:32:32.000'

Select cast(@D as float)+2

返回

代码语言:javascript
复制
43335.6475925926
票数 4
EN

Stack Overflow用户

发布于 2018-03-23 15:02:52

我只需从Db中获取数据并让Excel转换它。这样,如果Excel更改了其内部表示形式,您的SQL代码就不必更改

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49452639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档