将宏字符串转换为SAS数字日期

时间:2017-04-26 17:34:32

标签: sql date sas

我有一个宏变量,它将一个字符串输入到SQL查询中,我需要将其转换为数字。

这里有我的

%let date = '30/11/2017';

我需要将它转换为数字。我已经找到了如何将其转换为ddmmyy10。或其他日期格式,但我不知道如何将其转换为数字。

1 个答案:

答案 0 :(得分:0)

您可以使用input()函数将字符串转换为数字,然后您可以将数字格式化为日期:

%let date = '30/11/2017';

data _null_;
 dd = input(&date,ddmmyy10.);
 put dd;
 put dd date9.;
run;

产生:

 21153
 30NOV2017

或者,如果你像Reeza建议的那样,你可以直接为变量指定一个表示日期文字的宏字符串:

%let date = '30NOV2017'd;

data _null_;
 dd = &date ;
 put dd;
 put dd date9.;
run;

产生相同的结果。