我正在尝试使用proc sql在sas中连接两个表。但是日期不同(表1将Datetime作为格式,表2具有date9)。我想加入带有id(在两个表中都很常见)和日期的表。 DATEPART似乎没有用。有任何想法吗?这是我试图运行但不起作用的代码:
proc sql;
create table p.data1 as
select
a.*,
b.var1 as var1_alt,
Datepart(b.MonthEndDate) format date9. as EOMDate
from
p.base_1 a
left join q.a_GLV b
on a.ID = b.ID
and a.MonthEndDate = b.MonthEndDate
order by
a.ID,
a.MonthEndDate
;
quit;
答案 0 :(得分:1)
您需要在加入中使用datepart
,因为datetime
和date
在SAS中是不同的数字(秒数与天数之比)。
proc sql;
create table p.data1 as
select
a.*,
b.var1 as var1_alt,
Datepart(b.MonthEndDate) format date9. as EOMDate
from
p.base_1 a
left join q.a_GLV b
on a.ID = b.ID
and a.MonthEndDate = datepart(b.MonthEndDate)
order by
a.ID,
a.MonthEndDate
;
quit;