SAS日期怎样循环,比如20120131之后应该为20120201,但是我现在写的循环会变成20120132

 我来答
jan7842
2012-07-15 · TA获得超过526个赞
知道小有建树答主
回答量:787
采纳率:0%
帮助的人:351万
展开全部
你做的日期循环并不是日期格式,而是8为的数值格式,按数值格式循环就会依次递增。
data d;
format date yymmdd10.;
do date = '31Jan2012'd to '01Mar2012'd;
output;
end;
run;
proc print data=d;
RUN;

以下为运行的结果:

1 2012-01-31
2 2012-02-01
3 2012-02-02
4 2012-02-03
5 2012-02-04
6 2012-02-05
7 2012-02-06
8 2012-02-07
9 2012-02-08
10 2012-02-09
11 2012-02-10
12 2012-02-11
13 2012-02-12
14 2012-02-13
15 2012-02-14
16 2012-02-15
17 2012-02-16
18 2012-02-17
19 2012-02-18
20 2012-02-19
21 2012-02-20
22 2012-02-21
23 2012-02-22
24 2012-02-23
25 2012-02-24
26 2012-02-25
27 2012-02-26
28 2012-02-27
29 2012-02-28
30 2012-02-29
31 2012-03-01
yugao1986
2012-07-14 · TA获得超过1129个赞
知道小有建树答主
回答量:449
采纳率:100%
帮助的人:157万
展开全部
应该是日期格式的问题::
data need;
format date yymmdd10.;
do date = '31Jan2012'd to '01Mar2012'd;
output;
end;
run;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式