🔒 This topic is solved and locked.
Need further help from the community? Please
sign in and ask a new question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Posted 10-01-2015 06:01 AM
(294603 views)
Given Format - YYYYMM Required Format - YYMMDD (default dd to 01) Can anyone suggest how to do it in proc sql.?
1 ACCEPTED SOLUTION
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Depends whether your dates are like a, b or c in the following example
data test;
a = 201506; /* YYYYMM as a number */
b = '01JUN2015'd; /* SAS date value with YYYYMM format */
format b yymmn6.;
c = "201506"; /* char version of the YYYYMM date */
run;
proc print; run;
proc sql;
select
mdy(mod(a, 100), 1, int(a/100)) as date_a format=yymmdd6.,
b as date_b format=yymmdd6.,
input(c, yymmn6.) as date_c format=yymmdd6.
from test;
quit;
Result:
PG
4 REPLIES 4
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
FORMAT= as a column option in either SELECT or CREATE statement,
Data never sleeps
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Here you go:
data have;
informat date mmddyy10.;
format date mmddyy10.;
input date;
cards;
10/01/2015
;
run;
proc sql;
create table want as
select date format = date9.
from have;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Is it a character or SAS date value?
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Depends whether your dates are like a, b or c in the following example
data test;
a = 201506; /* YYYYMM as a number */
b = '01JUN2015'd; /* SAS date value with YYYYMM format */
format b yymmn6.;
c = "201506"; /* char version of the YYYYMM date */
run;
proc print; run;
proc sql;
select
mdy(mod(a, 100), 1, int(a/100)) as date_a format=yymmdd6.,
b as date_b format=yymmdd6.,
input(c, yymmn6.) as date_c format=yymmdd6.
from test;
quit;
Result:
PG