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

时间:2017-09-20 01:04:37

标签: sql sas proc

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

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

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

2 个答案:

答案 0 :(得分:1)

我没有得到你想要的东西。如果您在Oracle中有一个列并希望连接一个值,则可以使用:

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

答案 1 :(得分:0)

SAS没有“空字符串”的概念,所以

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有你要保留的尾随空格)那么你需要自己完成工作来修剪空格然后使用连接运算符连接,就像戈登提到了。

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