SAS sql是否有PERIOD数据类型?

时间:2015-04-20 16:07:28

标签: sas

我为跑马拉松的人提供了下表

person  start       end
mike    2-Jun-14    2-Aug-14
nike    3-Jul-14    9-Aug-14
mini    1-Aug-14    3-Nov-14

我想知道一个人是否正在参加马拉松比赛"在每个月的1号。所需的表应如下所示

person  running on
mike    1-Jul-14
mike    1-Aug-14
nike    1-Aug-14
mini    1-Aug-14 
mini    1-Sep-14
... for all other months 

SAS proc sql中是否有任何方法可以获得此结果。其他dbms有这个(Teradata,Oracle)。在SAS中,最好的方法是什么?

1 个答案:

答案 0 :(得分:4)

我会使用DATA STEP在SAS中解决这个问题。

data have;
input person $ from :anydtdte. to :anydtdte.;
format from to date11.;
datalines;
mike    2-Jun-14    2-Aug-14
nike    3-Jul-14    9-Aug-14
mini    1-Aug-14    3-Nov-14
;
run;

data want(keep=person running_on);
set have;
format Running_on date11.;

do Running_on=from to to;
    if day(running_on) = 1 then
        output;
end;
run;