간혹 날짜-시간 데이터 처리시에 유용할듯 합니다.
Ver 9.2에서는 지원되는 포맷이 있는지 모르겠네요.(9.1.3 기준)
**************************************************************************
DATA BACK;
NPUT VAR1 $ VAR2 $;
CARDS;
20091108 183636
20091231 090925
;
PROC FORMAT;
PICTURE DTTEST
LOW-HIGH = '%0Y%0M%0D%0H%0M%0S' (DATATYPE=DATETIME);
RUN;
* INFORMAT에는 ND8601DT 이 있는데, FORMAT에는 바로 YYYYMMDDHHMMSS 형태를
만들어주는 FORMAT은 못찾겠네요.. 유사한 FORMAT과 방법을 정리해보았습니다.;
* 사용자 포맷과 기본 포맷;
DATA BACK1;
SET BACK;
FORMAT VAR31 IS8601DT. VAR32 IS8601DZ. VAR34 $14.
VAR33 DATETIME20. VAR35 DTTEST14. VAR4 YYMMDDN8.;
* ND8601DT. INFORMAT, IS8601DT. FORMAT;
VAR31 = INPUT(VAR1||VAR2,ND8601DT.);
* ND8601DT. INFORMAT, IS8601DZ. FORMAT;
VAR32 = INPUT(VAR1||VAR2,ND8601DT.);
* ND8601DT. INFORMAT, DATETIME20. FORMAT;
VAR33 = INPUT(VAR1||VAR2,ND8601DT.);
* DATEPART 함수와 TOD INFORMAT;
VAR34 = PUT(DATEPART(VAR31),YYMMDDN8.) ||COMPRESS(PUT(VAR31,TOD9.),': ');
* 사용자 포맷 ND8601DT. INFORMAT, DTTEST14. FORMAT;
VAR35 = INPUT(VAR1||VAR2,ND8601DT.);
* DATEPART 함수 - http://www.statwith.pe.kr/SAS/1.FUNCTION/F0121.htm;
VAR4 = DATEPART(VAR31);
RUN;
PROC PRINT;
RUN;
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.
Lock in the best rate now before the price increases on April 1.