我是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
这也不起作用
答案 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
是数字变量,其中包含天数。如果它包含任何其他内容,或者是字符,那么这不一定会给你正确的结果。