1
A
답변
0
몇 가지 방법이 있습니다. Dirk는 문자열에 하루를 연결하고 INPUT()
함수를 사용하는 좋은 방법이 있습니다.
yymmn6.
정보를 INPUT()
과 함께 사용할 수도 있습니다. 그 문자열에서 '-'를 제거해야합니다.
data test;
x = '2008-05';
format y date9.;
y = input(compress(x,"-"),yymmn6.);
put y;
run;
당신은 월, 일 및 연도를 지정 MDY()
를 사용할 수 있습니다. 여기서는 SCAN()
함수를 사용하여 '-'를 구분 기호로 사용하여 문자열에서 월 및 연도를 선택합니다.
data test;
x = '2008-05';
format y date9.;
y = mdy(scan(x,2,'-'),1,scan(x,1,'-'));
put y;
run;
1
를 사용하여 입력 기능 날짜 '01sep2008'로 위를 얻는 방법
입력 기능은 정보 흐름을 사용하여 문자 변수을 interpretes 기능입니다. _ 의 텍스트를 정보에 따라 해석하는 입력 문과 정확히 일치하지는 않습니다.
2008-09
과 같은 문자열을 올바르게 해석하는 정보가있을 수 있지만, 그래서 난 그냥 상황에 따라 정보 흐름 yymmdd10.
예
을 그것에 _01
를 추가하고 적용 전체 (데이터 파일이나 데이터 세트/당신이 데이터 단계 또는 SQL을 선호 통보/...입니다) 해결책은 다음과 같습니다.
data Before;
input the_date $7.;
datalines;
2008-09
2007-10
2008-09
;
data After;
set Before (rename=(the_date=old_date));
format the_date date9.;
the_date = input(old_date||'-01', yymmdd10.);
* while testing the code, uncomment the following line :
drop old_date;
proc print;
run;
+0
INFORMAT 및 FORMAT은 SAS와 비슷하지만 별개입니다. INPUT() 함수와 INPUT 문은 형식이 아닌 정보를 사용합니다. – Tom
답변 해 주셔서 감사합니다. 그것은 잘 작동합니다. + 왜 우리는 마지막에 Put y를 사용 했는가? 필요한가요? –