在SAS Enterprise Guide中创建格式为YYYY-MM-DD HH:MM_SS的宏

时间:2019-01-22 13:05:50

标签: sas format enterprise-guide

我需要使用以下宏将这个日期放入SAS:'2019-01-14 00:00:00'

现在我有:

%let fecha=%SYSFUNC(PUTN(%SYSFUNC(TODAY()),E8601DT20.)); 

结果是:

  

1960-01-01T05:59:31

但这是不对的,今天不是1960年,我需要没有T的日期
有谁能够帮助我?

1 个答案:

答案 0 :(得分:1)

您不能将日期时间格式应用于日期值。日期存储为天数,日期时间存储为秒数。

%let fecha=%SYSFUNC(TODAY(),yymmdd10) 00:00:00;

如果要将其用作字符串,则只需添加引号。例如,您可以使用此语句在数据步骤中根据宏变量的值创建一个字符变量。

datestr = "&fecha";

但是,如果您需要单引号(可能生成通过SQL代码的传递),那么会有点困难,因为宏处理器通常会忽略单引号内的字符串。

%let fecha2=%unquote(%bquote('%SYSFUNC(TODAY(),yymmdd10) 00:00:00'));