sql - 如何将日期时间(SQL Server)转换为 Excel 日期时间?

标签 sql sql-server excel datetime datetime-conversion

问题 : 我想转换 datetime将 SQL Server 转换为 Excel 日期时间格式。

示例 1:来自 2018-08-23 15:32:32.00043335,65
示例 2:来自 1985-03-26 10:35:42.00031132,44
我尝试过的:灵感来自 this回答,我试过这个查询

SELECT DATEDIFF(day, @MyDatetime, GETDATE())

如果您想转换日期(不包括小时数),这可行,但是如何转换时间呢?

在 Excel 中,时间保存在数字的小数部分,所以我尝试使用
SELECT DATEDIFF(SECOND, '1899/12/30 00:00:00.000', GETDATE())

但这会导致溢出错误。

The datediff function resulted in an overflow. The number of dateparts separating two date/time instances is too large. Try to use datediff with a less precise datepart.

最佳答案

您可以使用 CAST :

select CAST(GETDATE() as float)+2

日期在 Excel 中的工作原理:
https://www.excelcampus.com/functions/how-dates-work-in-excel/

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

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

希望这一切都有意义。

关于sql - 如何将日期时间(SQL Server)转换为 Excel 日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49452639/

相关文章:

excel - VBA 循环遍历工作表,其中工作表名称由两个变量组成

excel - 为什么 Excel VBA 对我的整数除法结果进行四舍五入?

SQL:计算使用 LIMIT 查询时匹配结果的数量

c# - 使用语句 - 这对 sql 连接比 sql 适配器更有用吗?

c# 强类型数据集,其表适配器未返回预期结果

c# - 同时读取和写入数据到sql server

sql - 级联删除还是使用触发器?

vba - 禁用形状的右键菜单

sql - 找出每学期和每门类(class)中得分最高的学生的名字?

sql - 我应该避免连接中的循环吗?