如何在SAS中将字符串转换为日期值?
我想在SAS中将字符串转换为日期,我尝试了:如何在SAS中将字符串转换为日期值?,sas,Sas,我想在SAS中将字符串转换为日期,我尝试了: data _null_; monyy = '05May2013'; date = input(substr(strip(monyy),1,9),yymmdd.);; put date=date9.; run; 但它没有起作用。可以这样做吗?试试看 data _null_; monyy = '05May2013'; date = input(substr(strip(monyy),1,9),date9.)
data _null_;
monyy = '05May2013';
date = input(substr(strip(monyy),1,9),yymmdd.);;
put date=date9.;
run;
但它没有起作用。可以这样做吗?试试看
data _null_;
monyy = '05May2013';
date = input(substr(strip(monyy),1,9),date9.);
put date=date9.;
run;
你不需要穿紧身衣或紧身衣
input(monyy,date9.);
输入(字符值,日期9)
<>您可以考虑将其转换为Word格式。
输入(字符值、字日期)
你可以在这个页面上看到很多
您可以在显示时指定任何日期格式,如set
char\u val=date9代码>如上所述,简单的答案是:
date = input(monyy,date9.);
加上:
put date=yymmdd.;
之所以这样做有效,而你没有这样做,是因为SAS中存在一个常见的误解。日期9。他是个告密者。在输入语句中,它为SAS解释器提供了一组翻译命令,它可以发送给编译器,将文本转换为正确的数字,一旦应用了正确的格式,这些数字就会像日期一样。格式只是数字(或字符)的可见表示形式。因此,通过使用YYMMDD,您混淆了输入函数,将格式而不是信息传递给它,并且可能得到了一个有用的错误,即:
Invalid argument to INPUT function at line... etc...
这完全没有告诉你下一步该做什么
总之,将字符日期表示为YYMMDD。在SAS中,您需要:
更改信息-date=input(星期一,日期9.)代码>
应用格式-put date=YYMMDD10代码>
格式如
date9.
或
将文本转换为sas日期时,对输入命令无效。你可以用
Date = input( cdate , ANYDTDTE11.);
或
用于转换。此代码有助于:
data final; set final;
first_date = INPUT(compress(char_date),date9.); format first_date date9.;
run;
我个人曾在SAS上试用过它如果你无法发表评论,请不要使用答案。获得足够的声誉,然后发表评论。@JonathanDrapeau另一方面,这可能是一次诚实的回答,而不是评论。我有一个类似于“1961-11-20”的输入字符变量,我想作为日期来阅读。这个解决方案有效,而其他解决方案没有。同意,这个解决方案对字符日期戳也更有效。
Date = input( cdate , ANYDTDTE11.);
Date = input( cdate , ANYDTDTE10.);
data final; set final;
first_date = INPUT(compress(char_date),date9.); format first_date date9.;
run;