BookmarkSubscribeRSS Feed

[SAS 프로그래밍 고수 백승민] [날짜] 날짜시간(YYYYMMDDHHMMSS) 형태 처리하기

Started ‎06-11-2020 by
Modified ‎06-12-2020 by
Views 240

간혹 날짜-시간 데이터 처리시에 유용할듯 합니다.

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;

Version history
Last update:
‎06-12-2020 01:09 AM
Updated by:
Contributors

sas-innovate-white.png

🚨 Early Bird Rate Extended!

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.

Register now!

Article Labels
Article Tags