SAS 字符串比较

标签 sas proc-sql

我正在从 SQL Server 过渡到 SAS。

在 SQL Server 中,我们可以在 'abc ' = 'aBc' 为真时进行字符串比较。

到目前为止,在 SAS 中,我必须在每次比较时对每个字符串进行 STRIP 和 UPPER。

是否有一个选项可以设置为允许 'abc ' = 'aBc' 为真?

我的 Google-Fu 失败了。

最佳答案

我相信您正在寻找带有“i”修饰符(用于忽略大小写)的比较函数。当它返回 0 时,表示匹配。

(请参阅此处的第 70 页:http://support.sas.com/publishing/pubcat/chaps/59343.pdf)

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;

关于SAS 字符串比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42539120/

相关文章:

sql - SAS、proc Summary 中哪个统计计算速度更快?

sql - 使用内联接更新 SAS PROC SQL

sql - SAS 数据步骤/SQL 从多个具有相同 ID 的记录中选择最新记录

sas - 有没有办法使SAS在出现第一次警告或错误时停止?

sas - 为什么SAS不支持短路算子?

sorting - 在 SAS 中,有没有办法使用除一个之外的所有变量进行排序?

sql - SAS PROC SQL 在一个语句中不包含多个值

java - SAS是否使用像Java一样的数据结构

excel - 使用 SAS 处理 Excel 中的大量列

SAS:提高交叉联接的效率