Nic*_*sse 1 sql sql-server excel datetime datetime-conversion
问题:我想将datetimeSQL Server 转换为 Excel 日期时间格式。
示例 1:从2018-08-23 15:32:32.000到43335,65
示例 2:从1985-03-26 10:35:42.000到31132,44
我尝试过的:受这个答案的启发,我尝试了这个查询
SELECT DATEDIFF(day, @MyDatetime, GETDATE())
Run Code Online (Sandbox Code Playgroud)
如果你想转换日期(不带小时),那么它可以工作,但是如何转换时间呢?
在Excel中,时间保存在数字的小数部分,所以我尝试使用
SELECT DATEDIFF(SECOND, '1899/12/30 00:00:00.000', GETDATE())
Run Code Online (Sandbox Code Playgroud)
但这会导致溢出错误。
datediff 函数导致溢出。分隔两个日期/时间实例的日期部分数量太大。尝试使用 datediff 和不太精确的日期部分。
你可以使用CAST:
select CAST(GETDATE() as float)+2
Run Code Online (Sandbox Code Playgroud)
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 从不同的开始日期计算天数。
希望这一切都有道理。
| 归档时间: |
|
| 查看次数: |
10699 次 |
| 最近记录: |