使用列名称中的空格Proc SQL

时间:2016-06-27 08:30:10

标签: sql sas 4gl

如何在SAS的PROC SQL中使用名称('库名称')中的空格列?

proc sql outobs=10;
    select *
    from sashelp.vtable 
    where library name = xxx
    ;
run;

我试过了:

proc sql outobs=10;
    select *
    from sashelp.vtable 
    where 'Libname'n = test_lin;
quit;

proc sql outobs=10;
    select *
    from sashelp.vtable 
    where 'library name'n = test_lin;
quit;

proc sql outobs=10;
    select *
    from sashelp.vtable 
    where libname = test_lin;
quit;
  

错误:在贡献中未找到以下列   表:test_lin。

sashelp.vtable

变量名称:libname

变量标签:库名称

3 个答案:

答案 0 :(得分:7)

根据documentation - SAS Name Literals

proc sql outobs=10;
    select *
    from sashelp.vtable 
    where 'library name'n = xxx
    ;
run;
  

SAS name literal 是一个表示为字符串的名称标记   在引号内,后跟大写或小写字母 n 。   ...您只能对变量,语句标签和 DBMS列和表名称使用名称文字。

答案 1 :(得分:1)

您需要设置new Date(默认为DQUOTE=ANSI),然后您就可以为名称使用引号:DQUOTE=SAS

您可以在此处找到详细信息:http://support.sas.com/documentation/cdl/en/proc/61895/HTML/default/viewer.htm#a002473669.htm

答案 2 :(得分:0)

尝试使用``mark ... 或尝试使用支架[] ...... 所以它就像library name或[库名];

select *
from sashelp.vtable 
where `library name` = xxx or [library name] = xxx;