Dear Communities ,
I am challenged with the Date format .
So what should I do to get the same format as Date 1 and Date 2 for Date 3?
Date name | DateChar |
Date 1 | 22AUG2023 |
Date 2 | 06SEP2023 |
Date 3 | 29/SEP/2023 |
Here is my program :
DateChar=INPUT(DateChar,DATE9.) ;
FORMAT DateChar DATE9. ;
Thank you in advanced
You cannot store a NUMBER into a character variable.
You need to use a large enough WIDTH on the INFORMAT to read ALL of the relevant characters from the source string.
To leave the variable has character use the PUT() function.
DateChar=put(input(DateChar,date11.),date9.) ;
To store the value as an actual DATE you will need to make a NEW variable.
DateNum=input(DateChar,date11.);
format DateNum date9.;
DATE9. won't work because the third date has more than 9 characters.
Have you tried DATE11. ??
Yes , it did not work. Indeed , I have two column DateChar and DateNum . For DateNum everything Ok , I have only issue in DateChar and I have to keep this column .
@ndamo wrote:
Yes , it did not work. Indeed , I have two column DateChar and DateNum . For DateNum everything Ok , I have only issue in DateChar and I have to keep this column .
Please from now on never say "it did not work" and then you don't show us your code. We can't help you if you don't show us your code, as without your code no one can understand this message.
As I mentioned in begining, in my inital raw data , I have and the length of Date is $20. :
Date name | Date |
Date 1 | 22AUG2023 |
Date 2 | 06SEP2023 |
Date 3 | 29/SEP/2023 |
Then in my program :
DateChar=INPUT(DateChar,DATE9.) ;
FORMAT DateChar DATE9. ;
After runing this pgm, two columns created :
Date Name | DateChar | DateNum |
Date 1 | 22AUG2023 | 22AUG2023 |
Date 2 | 06SEP2023 | 06SEP2023 |
Date 3 | 29/SEP/2023 | 29SEP2020 |
Date 4 | . |
In DateNum everything Ok however in DateChar , something wrong . It concerns only Date 3 or Date 4 .
You need to try the informat DATE11.
datenum=input(datechar,date11.);
Additional comment: from now on, when we ask to see your code, show us the ENTIRE data step, not just one or two lines.
Thank you , for DateNum is Ok . and How should I do to remove the slash in DateChar?
I would like to perform something like :
IF Date Name = Date 3 , DateChar=DDMMMYYYY.
My expected result is => :
Date Name | DateChar | DateNum |
Date 1 | 22AUG2023 | 22AUG2023 |
Date 2 | 06SEP2023 | 06SEP2023 |
Date 3 | 29SEP2023 | 29SEP2020 |
You cannot store a NUMBER into a character variable.
You need to use a large enough WIDTH on the INFORMAT to read ALL of the relevant characters from the source string.
To leave the variable has character use the PUT() function.
DateChar=put(input(DateChar,date11.),date9.) ;
To store the value as an actual DATE you will need to make a NEW variable.
DateNum=input(DateChar,date11.);
format DateNum date9.;
Thank you . The issue is resolved with the PUT fonction .😊
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!
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.
Ready to level-up your skills? Choose your own adventure.