BookmarkSubscribeRSS Feed
deleted_user
Not applicable
Hi All

I am trying to convert input values from the format dd/mm/yyyy to yyyymmdd - this is what some of my code looks like but i cannot seem to get it working :

DATA HEAD;
LENGTH INV_HEADER_TYPE $01. ;
LENGTH INVDATEL $10.;
.
.
INFILE VAPHEAD DSD DLM=',' FIRSTOBS=2;

INPUT
INV_HEADER_TYPE $
INVDATEL $

DATA COMBINE;
SET HEAD ; BY INV_NO;
RUN;


DATA BOTHOUT;
SET COMBINE;
BY INV_NO;

INVDATEX=INPUT(INVDATEL,ANYDTDTE10.);

INVDATEZ=INPUT(INVDATEX,YYMMDD8.) ;

PUT @020 INVDATEZ $08.

;

any help appreciated!
1 REPLY 1
deleted_user
Not applicable
well i resolved the problem by first converting the variable to a SAS date
:

INVDATEX=INPUT(INVDATEL,ANYDTDTE10.);

then simply using the format YYMMDDN8. in the put section:

@020 INVDATEX YYMMDDN8.

Cheers
Shelton.

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 9807 views
  • 0 likes
  • 1 in conversation