data test;
name = 'abcdefgh';
age = 30;
res = name || age;
run;
Run Code Online (Sandbox Code Playgroud)
当我运行上面的代码时,变量res保持 - > abcdefgh 30
为什么数字变量age用空格填充然后与字符变量连接?
当数字和字符串联时,首先将数字转换为字符变量,然后将两个字符变量连接在一起.将数字变量转换为字符变量的默认格式为BEST12.(尽管根据数值变量的格式可能会有所不同). put(30,BEST12.)将产生' 30'哪个然后连接到字符变量.
要避免这种情况,要么使用strip作为Aaron注释,要么使用CATS(res=cats(name,age);)自动删除所有变量,或者自己放置数值变量(和PUT,如果你想使用-l,你可以强行左对齐)选项).