在字符串前面添加一个数字 - PROC SQL

Add a Number in Front of the String - PROC SQL

问题很基础,但非常感谢您的意见。

我基本上需要在变量的现有值前面添加'1'(没有space作为分隔符)。这是我迄今为止最好的尝试:

proc sql;
   create table as select * from connection to oracle
      (
      select catx('','1',A.Var_Name) AS "#New_Var" from table_name;
      )
quit;

我不太明白你想要什么。如果您在 Oracle 中有一个列并且想要连接一个值,您可以使用:

proc sql;
    select '1' || a.Var_Name
    from table_name;
quit;

SAS没有"empty string"的概念,所以

select catx('','1',A.Var_Name) AS "#New_Var" from table_name;

等同于

select catx(' ','1',A.Var_Name) AS "#New_Var" from table_name;

CATS 但是会为您删除空格;或者 CATT 如果您只想删除尾随空格。

select cats('1',A.Var_Name) AS New_Var from table_name;

如果你需要比这更复杂的东西(比如 A.Var_Name 有你想保留的尾随空格)那么你需要自己完成 trim 空格然后连接使用连接运算符,就像 Gordon 提到的那样。

另请注意,如果您在 SAS 中执行此操作而不是传递,则您希望对列名使用上述语法,而不是 "# 样式。