大佬教程收集整理的这篇文章主要介绍了SQL Server、Excel 和 MS Access 中的日期差异,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我注意到当我将日期转换为整数时,我在 sql Server、Excel 和 MS Access 中得到不同的值。
例如,在 sql 服务器中,SELECT CONVERT(INT,CONVERT(datetiR_409_11845@e,CONVERT(varchar,'2021-01-01'))) AS MyDate;
给我 44195。
在 Access 中,SELECT CLng(#1/1/2021#) AS MyDate;
给我 44197。
在 Excel 中,=DATEVALUE("1/01/2021")
也给了我 44197。
为什么 sql server 结果少了 2?
这是因为他们使用不同的原始日期来定义日期时间。
如果要将日期时间字段转换为整数,请始终选择您自己的原始日期。
例如,当您想使用 1970-01-01 作为参考日期时,请使用:
SELECT DATEDIFF(d,'1970-01-01','2021-01-01');
如果您想将其转换回日期:
SELECT DATEADD(d,18628,'1970-01-01')
永远不要依赖于默认原始日期等实现细节。
请注意,您可以通过使用 SELECT CAST(0 AS datetiR_409_11845@E)
for SQL server (1900-01-01) 或 SELECT FORMAT(CDATE(0),"Short Date")
在 Access (1899-12-30) 中轻松获取原始日期,这揭示了 2-日差。
以上是大佬教程为你收集整理的SQL Server、Excel 和 MS Access 中的日期差异全部内容,希望文章能够帮你解决SQL Server、Excel 和 MS Access 中的日期差异所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。