문제

다음과 같은 SAS 날짜를 어떻게 변환합니까? "30JUL2009"d ~ 안으로 YYYYMMDD 형식 (예 : 20090730)?

예를 들어 :

data _null_;
  format test ?????;
  test=today();
  put test=;
run;

로그에서 "test = 20090730"을 줄 것입니다 ...

도움이 되었습니까?

해결책

data _null_;
    format test yymmddn8.;
    test=today();
    put test=;
run;

yymmddxw. 선적 서류 비치

다른 팁

%let expectdate1=%sysfunc(putn(%eval(%sysfunc(today())-1),yymmddn8.));

yymmddn8 형식을 사용하려고합니다. 'n'은 의미합니다 분리기가 없습니다.

http://support.sas.com/kb/24/610.html Blank의 경우 B, Colon의 경우 C, DASH의 경우 D, 분리기가 없음, 기간의 P 또는 슬래시의 경우 S를 지정할 수 있습니다.

여기에 내가 매크로에서 한 방법은 다음과 같습니다. 그러나 반드시 형식이 있어야합니다 .? !!!

%let today=%sysfunc(compress(%sysfunc(today(),yymmddd10.),'-'));

이상한 - 정보 yymmdd8. yyyymmdd 형식은 yyyymmdd 결과를 제공합니다. YY-MM-DD 결과를 제공합니다 !!

트릭도해야 할거야

%let today=%sysfunc(today(),yymmddn8.);
%put &today.;

아래 링크의 모든 것

https://communities.sas.com/thread/60111

'날짜'에 인덱스 탭을 입력 한 다음 Selecr '날짜 및 시간 형식'을 입력 할 때 도움말 탭에서 모든 날짜와 시간 형식을 볼 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top