SAS字符串比较

SAS字符串比较,sas,proc-sql,Sas,Proc Sql,我正在从SQL Server过渡到SAS 在SQL server中,我们可以进行字符串比较,其中'abc'='abc'为真 到目前为止,在每次比较中,我都必须把每根弦都去掉并加上 是否有一个选项可以设置为允许“abc”=“abc”为真 我的Google Fu让我失望。您可以尝试使用Perl正则表达式的PRX函数 “/abc/i”在任何情况下都将匹配字符串“abc”的任何内容(因为结束/”后的“i”) 以PRXMATCH为例: prxmatch('/abc/i', 'aBc') 将返回1,因为

我正在从SQL Server过渡到SAS

在SQL server中,我们可以进行字符串比较,其中'abc'='abc'为真

到目前为止,在每次比较中,我都必须把每根弦都去掉并加上

是否有一个选项可以设置为允许“abc”=“abc”为真


我的Google Fu让我失望。

您可以尝试使用Perl正则表达式的PRX函数

“/abc/i”在任何情况下都将匹配字符串“abc”的任何内容(因为结束/”后的“i”)

以PRXMATCH为例:

prxmatch('/abc/i', 'aBc') 
将返回1,因为这是字符串出现的位置

有关正则表达式的详细信息:

SAS中的PRX:

我相信您正在寻找带有“I”修饰符的比较函数(用于忽略情况)。当它返回0时,有一个匹配项

(见此处第70页:)

data a;
input string1 $ string2 $;
datalines;
abc aBc
cba CBA
AbC ABC
AC  AbC
BCA CAb
;
run;

data b;
set a;
c = compare(string1,string2);
d = compare(string1,string2,'i');
run;
proc print noobs;
where d = 0;
var string1 string2;
run;