我有一个看起来很简单的问题(可能是......),但我无法让它工作。
数据集“列表”中的变量“名称”的长度为 20。我希望有条件地将值选择到宏变量中,但通常所需的值小于指定的长度。这会在末尾留下尾随空白,我不能这样做,因为它们会破坏宏变量的 future 调用。
我试过修剪、压缩、btrim、左(修剪和其他解决方案,但似乎没有给我想要的东西(这是没有空格的“乔”)。这似乎应该比现在更容易...... .. 帮助。
data list;
length id 8 name $20;
input id name $;
cards;
1 reallylongname
2 Joe
;
run;
proc sql;
select trim(name) into :nameselected
from list
where id=2;
run;
%put ....&nameselected....;
最佳答案
实际上,有一个选项,TRIMMED,可以做你想做的事。
proc sql noprint;
select name into :nameselected TRIMMED
from list
where id=2;
quit;
另外,结束
PROC SQL
与 QUIT;
,不是 RUN;
.
关于SAS Proc SQL Trim 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27864004/