如果有下面一段代码,运行是正常的
%let no=5;
%let var&no=10;
%put var5=&&var&no;
结果是var5=10
但如果这个no宏变量不是用%let语句赋值的,而是用select into从一张表里取得的,如下所示
proc sql noprint;
select a into :no from dataseta where n=1;
quit;
然后再用%let var&no=10;这条语句时,会报错
ERROR: Expecting a variable name after %LET.
ERROR: Symbolic variable name VAR 1 must contain only letters, digits, and underscores.
也即在这时,&&var&no为VAR 1,不知道中间这些空格为什么会存在
请问该如何解决,谢谢!