如何在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。
变量名称:libname
变量标签:库名称
答案 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;