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=

日付形式は、1960 年 1 月 1 日からの秒数の基になる値で機能する日時形式とは異なることに注意してください。

日付を日時に変換したい場合は(質問の文言に従って)、次のように値に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 に答える