0

我将 5 个 excel 文件导入 SAS,有一些日期最初格式化为 1989 年 8 月 3 日,然后格式化为 03Aug1989 (DATE9.),这是我真正想要的。但是,在 1 个文件中,日期未能转换为 DATE9。当我阅读日志时,它被读取为 $CHAR10。我尝试了几种方法将其重新格式化为 DATE9 但失败了。

  1. 我试图将所有信息/格式/输入更改为 DATE9。而不是 $CHAR10 但失败了,结果都是空的 (.)
  2. 我试过 DateNew=input (Date,DATE9.); 但它也没有用。

任何意见?

谢谢!

4

1 回答 1

0

乔在评论中的建议应该是 A 计划。但有时内置的 SAS 格式指定选项不起作用,您仍然会得到一个字符串。如果这就是您所在的位置,那么这是一个很好的后备方案:

data test;
format imported_date $char10.;
imported_date = "8/3/1989";

month = scan(imported_date, 1, "/")*1;
day = scan(imported_date, 2, "/")*1;
year = scan(imported_date, 3, "/")*1;

date_datefmt = mdy(month,day,year);
format date_datefmt date9.;
run;
于 2015-01-14T17:41:20.990 回答