簡體   English   中英

SAS如何在where子句中更改日期格式

[英]SAS how to change a date format in a where clause

我有一些數據,其日期存儲在yymmn6中。 格式和存儲在date9中的其他格式。 格式

我想使用where子句執行proc sql語句,但為了比較date9的兩個日期。 字段需要在yymmd6中。 格式

是否存在可以在where子句中使用的等價物

proc sql;
  select dt format=yymmn6., 
  from have;
quit;

proc sql;
  select *
  from have WHERE dt format=yymmn6. = other_date;
quit;

格式化為日期的SAS變量只是一個數字(表示自01JAN1960以來的天數)。

如果other_date也是SAS日期值(無論格式如何),則無需將格式應用於任一變量。

如果other_date是表示日期的字符串(例如201501),則可以將格式應用於dt ,或將other_date輸入SAS日期。

/* Apply format to dt to match other_date */
proc sql ;
  select * 
  from have
  where put(dt,yymmn6.) = other_date ;
quit ;

/* Be careful here though as 201501 will input as 2015-01-01 */
proc sql ;
  select *
  from have
  where dt = input(other_date,yymm6.) ;
quit ;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM