如何在 sas 中将 dd-mmm-yyyy 转换为 date9

How to convert dd-mmm-yyyy to date9 in sas

想要将日期 = 01-SEP-2021 转换为日期 = 01SEP2021。我用这段代码来转换:

新日期 = input(compress(date,'-'),date9.);

但这没有用。我还使用子字符串删除了日月和年的部分,但似乎这种方法有点冗长。

如果类型是数字并且 SAS 已经将其显示为日期,那么这是格式问题。

proc datasets lib=work nolist;
    modify have;
        format date date9.;
quit;

否则必须是字符,必须转成日期显示date9.格式

data want;
    date     = '01-SEP-2021';
    new_date = input(date, anydtdte.); *anydtdte. automatically reads a variety of date formats;
    
    format new_date date9.;
run;