如何在SQL Server中将整数日期(5位)格式化为yyyy-mm-dd



我有一个数据库,里面有名为fSystemDate、fOpenned、fStatusDate等的整数字段(列)……我认为它们代表日期,但我不知道它们的格式。这些字段中的值如下:76505、76530、76554、76563。我没有与他们相关的真实日期的例子。

已解决。查看答案

我发现这种格式是一种名为Clarion的编程语言的一部分,他的日期编号从2000年12月28日开始。我可以通过两种方式将clarion数据转换为sql日期:

  1. 选择DATEADD(日期:76505,'28-12-1800')

    其中结果将是2010-06-15 00:00:00。

  2. 选择转换器(日期时间,76505-36163)

    其中结果是相同的。数字36163用于调整SQL。这是从1900年1月1日(MSSQL日期时间编号开始)到1800年12月28日(Clarion日期时间编号结束)之间的天数。

在我的案例中,结果是正确的,因为我向他们(我的客户)询问了您应用程序中的数据示例并比较了信息。

只给出一个数字很难帮助您。看起来你的日期是某种序列号。但没有任何其他数据点

  • 时代纪元是日历系统的零点。

  • 增量序列号中的勾号有多大?1天?1小时1分钟?一周?一个月?

  • 源硬件/操作系统价值来源于什么计算机系统?不同的系统表示日期的方式不同,使用不同时期的不同日历系统。

  • 源软件系统什么软件创造了价值?是自定义软件吗?它用什么语言写的?什么时候数据的后备存储是什么?数据库、文件系统等可能都有自己的内部日期表示。

  • 表示的值如果76563确实是一个日期的表示,那么它表示的是什么日期?或者至少,它代表最近的日期吗?过去的约会?未来的约会?

回答你的问题是不可能的。此页面可能会帮助您:

http://www.itworld.com/article/2823335/data-center/128452-Just-dating-The-stories-behind-12-computer-system-reference-dates.html

它列出了不同计算机系统的一些常见时期:

编辑后请注意:这里有一个数据点:将76563天添加到1800年1月1日,得到日期16 August 2009

最新更新