webgu 发表于 2013-3-14 14:54 
2楼的CODE应该可以的。
按2楼代码修改后运行没有报错,但查询无数据,奇怪了,如果begdate和enddate确实为'2013-02-01'和'2013-02-28' 那么数据库中是有数据的,后来通过select &begdate,&enddate 查看,&begdate 尽然变成了'2010' &enddate 变成了'1983',费解啊!
data _null_;
begdate=put(intnx('month',today(),-1,'b'),yymmdd10.);
enddate=put(intnx('month',today(),-1,'e'),yymmdd10.);
call symput("begdate",begdate);
call symput("enddate",enddate);
run;
proc sql;
%tdlink;
create table test as
select *
from connection to teradata
(
select *
from wy_table
where Card_Num='XXXXXXXXXXXXXXXX'
and Event_Dt between &begdate and &enddate
);
disconnect from teradata;
quit;