sysfunc无法正常工作。

时间:2013-01-29 03:47:57

标签: sas

这个sysfunc调用出了什么问题?

%let mystring = hello world;

%let mycount =  %sysfunc(count(&mystring, 'hello')); 

%put &mycount;

输出

[PUT]  0

1 个答案:

答案 0 :(得分:3)

因为你在datastep之外,所以hello周围不需要引号(引号是字符串的一部分,而不是它的分隔符)。 所以这应该有效:

%let mystring = hello world;
%let mycount =  %sysfunc(count(&mystring, hello)); 
%put &mycount;

再举一个例子来说明这里发生了什么, 这也会打印1:

%let mystring = 'hello' world;
%let mycount =  %sysfunc(count(&mystring, 'hello')); 
%put &mycount;