2015-04-06 244 views
1

在我的数据中,SQL已将日期格式化为5位数字字符,例如63628的62627.当我尝试将日期读入SAS并使用日期格式(如DATE9)时。我得到正确的月份和日期,但错误的一年。有关如何获得正确日期的任何提示?我是否需要进入SQL并进行转换?或者可以在SAS中完成?将SQL日期转换为SAS日期

+1

我希望这篇文章是对你有用:http://stackoverflow.com/questions/26960155/how-to-convert-date-time-values-in -sas-into-tsql?rq = 1 – Barett

+1

错误60年,偶然?发布您的产品和您的期望会很有帮助。还有一点不清楚,如果数据被格式化为SQL Server中的字符或作为日期或日期时间。 – Joe

回答

2

您可能想要读取正在转换的数据库/系统的数据字典和数据定义。 SAS基准日期是1960年1月1日。一些系统也使用1月1日,不同年/几十年作为基准年。

如果你提的是,SAS正在改变日期和月份是正确的,并在今年被60年偏移,我大胆猜测是,你的系统基准日期是1月1日,1900年

从1900/01/01和1960/01/01是21,914天。

这将这样的伎俩:

data _null_; 
    set test; 
    new_date = sum(date,21914); 
run;