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

Create a macro with format YYYY-MM-DD HH:MM_SS in SAS Enterprise Guide

我需要用宏将这个日期放入 sas 中:'2019-01-14 00:00:00'

现在我有:

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

结果是:

1960-01-01T05:59:31

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

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

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

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

datestr = "&fecha";

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

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