在SAS中连接字符串

时间:2019-02-17 01:01:28

标签: sas

二手||连接两个字符串并覆盖其中一个变量。但是改写有时不会发生。

这是我的第一个代码:

data aa;
length a b $3;
a = 'FA';
b = '1';
a = a || b;
run;

a的值仍为“ FA”。 但是,如果我们将连接替换为: $ b = a || b; 那么b的值为'FA1'。

谁能解释为什么会发生

1 个答案:

答案 0 :(得分:1)

SAS字符变量存储值的尾部空格以填充变量长度。与串联运算符||组合的值不会进行任何修改,因此对变量进行的有效操作(按值)是:

a = "FA " || "1  "

因此FA<space>1<space><space>被塞入$ 3并被截断为FA<space>

原来的学校代码是

a = trim(left(a))||left(b);

查看CAT*函数系列,以使用修整,剥离和定界将值连接在一起。例如:

a = cats(a,b);