SAS中的格式更改

时间:2014-08-08 17:40:27

标签: format sas

我知道如何通过数据步骤更改变量的格式,如下所示。

data want;
  set have;
  format abc date9.;
run;

但是如果格式更改需要从字符转换为数字然后转换为日期,则需要使用创建新变量跟随代码,我想避免这样做。

data want;
  set have;
  abc_1 = input(scan(abc,"1"),ddmmyy10.);
  format abc_1 date9.;
run;

是否可以避免创建新变量并将字符更改为数字,然后日期9。

1 个答案:

答案 0 :(得分:2)

您可以使字符变量包含DATE9.格式化的日期值,但您不能包含基础日期值并显示格式,否。

abc = put(input(scan(abc,'1'),ddmmyy10.),date9.);

但是,它不会是具有日期格式的数字。为此,您必须创建一个新变量。您可以将其写入具有相同名称的数据集;

data want;
  set have;
  abc_1 = input(scan(abc,"1"),ddmmyy10.);
  format abc_1 date9.;
  drop abc;
  rename abc_1=abc;
run;

但它仍然在技术上创建了一个新变量(即使你在输出中没有真正看到它)。