0

当我尝试使用Sysdate / Today()我的 PROC SQL QUERY 条件 Table_Date + 60 > Today()时,它返回一个数字值 20560。您能否建议我如何将该数字转换为日期时间。

4

1 回答 1

0

如果您正在讨论proc sql;查询后数据在表中的显示方式,请尝试应用如下格式:

proc sql;
create table want as
  select Table_Date + 60 as my_date_col format=date9.  
  from have
  where Table_Date + 60 > Today();

SAS 将日期存储为自 1960 年 1 月 1 日以来的天数。要将该数字显示为“可读日期”,您可以按照上述语法应用多种日期格式中的一种。format=

请注意,日期格式与日期时间格式不同 - 它适用于自 01JAN1960 以来的秒数的基础值。

如果您确实希望将日期转换为日期时间(根据问题的措辞),您可以简单地将值乘以 24(小时)、60(分钟)和 60(秒),如下所示:

proc sql;
create table want as
  select (Table_Date + 60) * 24 * 60 * 60 as my_datetime_col format=datetime19.  
  from have
  where Table_Date + 60 > Today();
于 2016-11-02T22:01:36.423 回答