I have an update statement for a table. Since LPAD does not work in SAS. is there a way to easily pad the zeros?
proc sql;
update <TABLE>
set UNIQUE_KEY = Compress('BI'||lpad('9161',7,'0')||'MTSMBE'||(put(CREATION_DATE_TIME,10.)));
quit;
Are you trying to generate a digit string from a number? If so just use PUT() function and Z format.
put(9161,Z7.)
will generate the string '0009161'.
If your source is already a string (and cannot be converted to an integer using INPUT()) then you will need to work harder.
There are many answers to that question on this forum, although I suspect none of them are using the terminology of "LPAD()" whatever language you got that from.
If the table you are working with is not a "passthru" to an external database (such as Oracle or similar), then use format z10.
Are you trying to generate a digit string from a number? If so just use PUT() function and Z format.
put(9161,Z7.)
will generate the string '0009161'.
If your source is already a string (and cannot be converted to an integer using INPUT()) then you will need to work harder.
There are many answers to that question on this forum, although I suspect none of them are using the terminology of "LPAD()" whatever language you got that from.
Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.
Register today!What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.
Select SAS Training centers are offering in-person courses. View upcoming courses for: