我知道如何通过数据步骤更改变量的格式,如下所示。
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。
答案 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;
但它仍然在技术上创建了一个新变量(即使你在输出中没有真正看到它)。