Sql 日期基于一年365天的日期

Sql 日期基于一年365天的日期,sql,excel,datetime,date,Sql,Excel,Datetime,Date,我有[过去两年][365天]格式的日期。使用SQL或excel函数,我需要确定与此相关的日期。这一年总是21世纪的最后两个年头。没有2007年之前的日期。有没有一种方法可以轻松做到这一点?我使用它进行快速检查,并试图避免大量的编码时间。在SQL中,日期处理函数似乎因SQL供应商而异,而且似乎没有任何好的处理日期偏移的标准方法。但是,如果您对正在使用的特定SQL server更具体一点,可能会有人提供适用的答案 在Excel中,您可以为一年的第一天(例如2008-01-01)创建一个日期,然后用数

我有[过去两年][365天]格式的日期。使用SQL或excel函数,我需要确定与此相关的日期。这一年总是21世纪的最后两个年头。没有2007年之前的日期。有没有一种方法可以轻松做到这一点?我使用它进行快速检查,并试图避免大量的编码时间。

在SQL中,日期处理函数似乎因SQL供应商而异,而且似乎没有任何好的处理日期偏移的标准方法。但是,如果您对正在使用的特定SQL server更具体一点,可能会有人提供适用的答案


在Excel中,您可以为一年的第一天(例如2008-01-01)创建一个日期,然后用数字加上天数,减去1,使第一天仍然是2008-01-01;当格式化为日期时,结果值应为精确的日期值。例如,
=DATE(2008,1,1)-1+320返回的日期为2008年11月15日(至少在LibreOffice Calc中)。

您可以在Excel中尝试此公式,其中数据为A1


=日期(左(A1,2)+100,1,右(A1,3))

创建一个从20xx年1月1日开始的日期,然后将日期添加到该日期中。(其中xx显然是今年的最后两个)您能给出一个数字表示吗?是07001到07365还是其他什么?斯图尔特·丹斯沃思:开始日期是07001,结束日期是12365Nominism:你能给我一个SQL或Excel的代码示例吗?寻找2月29日的错误吗?2008年是闰年。
=DATEVALUE(CONCATENATE(“20”,LEFT(A1,2),“-01-01”))-1+INT(RIGHT(A1,3))
在Excel 2010中工作,其中五位数字(存储为文本)位于
A1
=DATE(LEFT(A1,IF(LEN(A1)=5,2,1))+100,1,RIGHT(A1,3))
在Excel中工作,不需要将五位数字(前导0)存储为文本。巴里·胡迪尼的回答略有不同。