proc sql中的SAS日期操作

时间:2016-03-29 18:30:10

标签: sas proc-sql

我是SAS的新手,我正在尝试修改这段代码

proc sql;
select a, Current_Date - 2 - b as some_date
from table

Current_Date是sas中的一个函数。我试图用自己的日期替换它。 a和b是我连接的数据库中的列名。我尝试将Current_Date更改为' 12nov2013' d,但它似乎无法正常工作。

我试过了:

1

%let startFrom = '12nov2013'd;
proc sql;
  select a, &startFrom - 2 - b as some_date
from table

这不起作用。

2

proc sql;
  select a, input('12nov2013',date9.) - 2 - b as some_date
from table

这不起作用

我应该如何在SAS中执行此日期操作

3

proc sql;
  select a, intck('DAY','19nov2015'd,rqo_tran_date_alt) as TranMonth
from table

这也不起作用

1 个答案:

答案 0 :(得分:1)

你的第一个例子没有什么问题,尽管可以改进。

%let startFrom = '12nov2013'd;

data have;
  input a $ b;
  datalines;
Zero 0
Five 5
Ten 10
Hundred 100
;;;;
run;


proc sql;
  select a, &startFrom - 2 - b as some_date format=date9.
  from have;
quit;

添加格式通常非常有用,但不是必需的。这假设b数字变量,其中包含天数。如果它包含任何其他内容,或者是字符,那么这不一定会给你正确的结果。