lnlhckao123 发表于 2013-5-15 19:55 
您好,yongyitian!我还是不明白:1.、前面有FORMAT,后面为什么还要format。2.“这里的 default-format 是 ...
前面的FORMAT用来表示FORMAT语句的开始。比如一个数据步用data开始一样。
格式语句的第一个字是 format (大小写都可以)。 过程步的第一个字是 proc .
比如 format date_in yymmdd10.;
因为第一个字是 format, 所以它表示一个格式语句. 上面语句的中的 ; 表示语句的结束.
后面的format是说要在这个字的地方(变量名的后面)写一个具体的格式,比如一个日期格式 yymmdd10. 或者长度为1的字符格式 $1.
注意: 格式最后的 . 是必须要有的.
临时的默认格式仅适用于当前数据步骤 : 说的是这个格式不会储存在数据集中。 也就是说下次调用这个数据集时, 或者用 proc print 打印时, 临时的默认格式就不存在了.
比如运行下面code后, 你会在log window 中看到 date_out 的格式是 yymmdd10. (因为是在数据步里)
而在result window (在数据步外)里, 你看到的date_out 的数值是从1960-01-01 到今天的天数.
data test;
format date_in yymmdd10.;
format date_put default=yymmdd10.;
date_in = today();
date_out = today()+5;
put date_in=;
put date_out=;
run;
proc print data=test; run;
SAS 帮助文件里的句法(syntax)确实很难懂. 只要照着例子写就可以了.