Hello all,
if I want upate tabel work.one for its column x and y as below,and want update their length,but there is error happend when I use length= statement in proc sql .
could anyone tell me how to change variable's length when using update in sql procedure?
Thanks!
Mike
data work.one;
length x y $5;
x='aaa';
y='bbb';
run;
proc sql noprint;
update work.one
set x= catx('|',x,'abcdefghijklmn') length x=$200
,y= catx('|',y"abcdefghilklmn") length y=$200
;
quit;
Hi,
Try this..hope it helps
proc sql;
create table want as
select catx('|',x,'abcdefghijklmn') as x length = 200,catx('|',y,"abcdefghilklmn") as y length = 200 from one;
quit;
Thanks,
Shiva
you can't change the length in an update statement, you need to use a create statemen. Update may change in place, create builds a new table.
As Doc@Duke said, you need another statement to change the length of columns.
data work.one; length x y $5; x='aaa'; y='bbb'; run; proc sql noprint; alter table work.one modify x char(200),y char(200); update work.one set x= catx('|',x,'abcdefghijklmn') ,y= catx('|',y,"abcdefghilklmn") ; quit;
Ksharp
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.