我有以下数据集和代码:
DATA survey;
INPUT id order_date ;
DATALINES;
1 11JAN2007
2 12JAN2007
3 14JAN2007
;
PROC PRINT; RUN;
data work;
set survey;
where '11JAN2007'<= order_date <= '13JAN2007';
proc print data=work;
run;
当我运行此代码时,它确实提供了所需的输出。它只给出一个包含三个空order_date列的表。
对这里出了什么问题的想法?
答案 0 :(得分:0)
这样可行:
DATA survey;
informat order_date date9. ;
INPUT id order_date ;
DATALINES;
1 11JAN2007
2 12JAN2007
3 14JAN2007
;
RUN;
PROC PRINT data = survey;
format order_date date9.;
RUN;
data work;
set survey;
where '11JAN2007'd<= order_date <= '13JAN2007'd;
run;
proc print data=work;
format order_date date9. ;
run;
请参阅SAS帮助了解主题日期,信息,......
答案 1 :(得分:0)
如果要根据日期进行查询,则需要告诉SAS您的字符串是日期。你可以在日期字符串后加一个'd',例如
'11JAN2007'd