data have; x='2018-10-01 00:00:00:00'; y=input(x,anydtdtm.); z=datepart(y); put z; format z YYMMDDN8.; zz=put(z,YYMMDDN8.); run;
In this example zz is converted to a character from a date format. In my actual data when I use the above routine it stays as a date. It will not change from a date to a character. Is there some other way to convert from date to character?
If you want a character date there is no need to convert it to a SAS date:
data have;
x = '2018-10-01 00:00:00:00';
zz = compress(substr(x, 1, 10), '-');
put _all_;
run;
If you want a character date there is no need to convert it to a SAS date:
data have;
x = '2018-10-01 00:00:00:00';
zz = compress(substr(x, 1, 10), '-');
put _all_;
run;
@Q1983 wrote:Is there some other way to convert from date to character?
Once a variable type is assigned to a variable name in a SAS data set then the type cannot change. If you want to reuse the variable name with a new type then you basically rename the old variable to something else (or drop from the data set) and the create a new variable of the desired name.
You will find lots of examples on the forum related to fixing proc import created inconsistent variable types that look something like this:
data new; set old (rename=(thisvar=oldnumvar); thisvar = put(oldnumvar,z15.); run;
The format changes, or sometimes an INPUT function is called with an old character variable to create numeric.
There might follow a call to Proc Datasets to delete the prior dataset "old" and rename "new" to "old" to reuse the same data set name.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.