BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
asishgautam
Calcite | Level 5

yymmdd10.

lho
Calcite | Level 5 lho
Calcite | Level 5

Here is how I solved the problem with some explanations. (Basically the same as it's been answered in all the previous threads).

Problem:

Original var: has data that looks something like... 20070131

I want var to look like this: 01/31/2007

data new;

     set old;

new_var = input (put(old_var,8.), yymmdd8.); <-- put(old_var,8.) changes the old_var's data type from numeric to character. Then, the input function changes old_var into a SAS date.

format new_var mmddyy10.; <-- after it has been changed into a SAS date, then you have the option to format it any way you want. The mmddyy10. gives me the appearance I want (01/31/2007). I believe if you would  like it to be 01-31-2007, instead of mmddyy10. you can use mmddyyd10.

sas-innovate-wordmark-2025-midnight.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.


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
  • 16 replies
  • 11689 views
  • 0 likes
  • 5 in conversation