Proc SQL 给日期加天
Proc SQL add days to a date
Proc Sql;
Create table dates As
Select
a.custid,
a.Displayed_date As Start_Dt,
intnx('day',a.Displayed_date,28) As Max_dt
From inscope_records a;
Quit;
刚刚学习如何使用 SAS EG,因此创建了一个过程 SQL 将日期加 28 天。它有效,但它以数字格式给我它,即自 1960 年 1 月 1 日以来的天数,我认为它是,我该如何解决这个问题? Start_DT 按预期显示为 01OCT2018
您可以使用这些标准 SQL 方法
Date + INTERVAL 28 DAY
DATEADD(DAY, 28, Date)
你只需要在变量后面使用 FORMAT=
选项来告诉 SAS 使用什么格式来显示你的新变量的值。
create table dates as
select
a.custid
, a.Displayed_date as Start_Dt
, intnx('day',a.Displayed_date,28) As Max_dt format=date9.
from inscope_records a
;
请注意,SAS 将天数存储为自 1960 年 1 月 1 日以来的天数,因此您可以使用加法来添加 28 天。
Displayed_date + 28
如果您使用的是普通 SAS 代码,则使用 FORMAT 语句附加格式。
data dates;
set inscope_records;
Max_dt = displayed_date + 28;
format Max_dt date9.;
keep custid displayed_date Max_dt;
rename displayed_date = Start_dt;
run;
Proc Sql;
Create table dates As
Select
a.custid,
a.Displayed_date As Start_Dt,
intnx('day',a.Displayed_date,28) As Max_dt
From inscope_records a;
Quit;
刚刚学习如何使用 SAS EG,因此创建了一个过程 SQL 将日期加 28 天。它有效,但它以数字格式给我它,即自 1960 年 1 月 1 日以来的天数,我认为它是,我该如何解决这个问题? Start_DT 按预期显示为 01OCT2018
您可以使用这些标准 SQL 方法
Date + INTERVAL 28 DAY
DATEADD(DAY, 28, Date)
你只需要在变量后面使用 FORMAT=
选项来告诉 SAS 使用什么格式来显示你的新变量的值。
create table dates as
select
a.custid
, a.Displayed_date as Start_Dt
, intnx('day',a.Displayed_date,28) As Max_dt format=date9.
from inscope_records a
;
请注意,SAS 将天数存储为自 1960 年 1 月 1 日以来的天数,因此您可以使用加法来添加 28 天。
Displayed_date + 28
如果您使用的是普通 SAS 代码,则使用 FORMAT 语句附加格式。
data dates;
set inscope_records;
Max_dt = displayed_date + 28;
format Max_dt date9.;
keep custid displayed_date Max_dt;
rename displayed_date = Start_dt;
run;