proc sql 内的 SAS 日期操作
SAS date operation within 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
这也不行
您的第一个示例并没有真正的问题,尽管它可以改进。
%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
是一个 数字 变量,其中包含 天数 。如果它包含其他任何内容,或者是字符,则不一定会给您正确的结果。
我是 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
这也不行
您的第一个示例并没有真正的问题,尽管它可以改进。
%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
是一个 数字 变量,其中包含 天数 。如果它包含其他任何内容,或者是字符,则不一定会给您正确的结果。