SQL如何将数字(整数)转换为日期?
我正在使用小型商业软件并将其导入SQL Server。但也有一些数字:SQL如何将数字(整数)转换为日期?,sql,sql-server,tsql,sql-server-2008-r2,Sql,Sql Server,Tsql,Sql Server 2008 R2,我正在使用小型商业软件并将其导入SQL Server。但也有一些数字: 75739 76910 73105 75821 75245 75605 77169 73265 75611 74073 77012 我想这代表了日期 如何将这些数字转换为日期YYYY-MM-DD和YYYYMMDD?基于SQL Server的纪元基数或1900年1月1日的零日期,这些日期是在22世纪 SELECT DATEADD(day, 75739, 0) -- 2107-05-15 00:00:00.000 还是基于日
75739
76910
73105
75821
75245
75605
77169
73265
75611
74073
77012
我想这代表了日期
如何将这些数字转换为日期YYYY-MM-DD和YYYYMMDD?基于SQL Server的纪元基数或1900年1月1日的零日期,这些日期是在22世纪
SELECT DATEADD(day, 75739, 0) -- 2107-05-15 00:00:00.000
还是基于日期时间的下限?这是1960年的ish,适用于出生日期
SELECT DATEADD(day, 75739, '17530101') -- 1960-05-15 00:00:00.000
tl;需要更多信息。否则,一般情况下甚至不要尝试,当日期表示为数字时,那么它们表示自给定日期起的天数。在某些CAE中,您可能有一个类似20120829的数字,实际上可以解析为YYYYMMDD。但这些日期似乎不是这样的。另一种格式可能类似于YYday of year,因此100001将是2010年1月1日。但是,这些日期也不会以这种格式显示 假设这是自给定日期起的几天,则在SQL Server中,您将使用:
select dateadd(day, <val>, <basedate>)
对于Excel,您可以使用以下内容:
select dateadd(day, <val>, '1899-12-31')
然而,这将这些日期定在22世纪
您需要了解有关这些日期格式的更多信息。这些日期应该表示什么日期?如果这些数字和日期之间没有某种映射,我们将无法帮助您-询问您获取文件的联系人。这些日期不是转换为int的SQL server日期。例如,cast75739 as datetime->May,15 2107。那么75739是什么日期呢?可能是从一个未知的日期开始的滴答声如果我不得不猜测的话,这是从1800年1月1日开始的天数@Justin,如果你知道这种格式的具体日期,那么你可以很容易地得到转换的基准日期。