SAS Proc SQL Trim 不起作用?

标签 sas trim proc-sql

我有一个看起来很简单的问题(可能是......),但我无法让它工作。

数据集“列表”中的变量“名称”的长度为 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 SQLQUIT; ,不是 RUN; .

关于SAS Proc SQL Trim 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27864004/

相关文章:

asp.net-mvc - 如何在 ASP.NET MVC Web API 中修剪模型的空间

SQL 服务器 : how to split a string using a comma as a separator

regex - 通过正则表达式修剪 URL,但不修改为 root

sas - 优化SAS中的proc sql语句

sql - SAS - 需要使用 .first .last obs 但如何指定多个键/复合键?

xml - 用于更新 Sharepoint 列表的 SAS PROC SOAP

hadoop - hadoop的sas/access接口(interface),有人用过吗?

sql - SAS Proc SQL 获取日期最接近特定日期的记录

SAS 间接宏处理

sas - 如何获取最新的-1表名