[英]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.