不等于运算符在SAS proc sql中没有按预期工作

时间:2015-12-04 16:44:28

标签: sas

我希望proc sql返回0条记录,因为比较的值是相同的,但它不会返回0条记录。我错过了什么?

DATA TEST;

B='0';
A = put(0,2.);
RUN;
PROC SQL;
SELECT * FROM TEST WHERE A NE B;
QUIT;

1 个答案:

答案 0 :(得分:3)

SQL正在按照您的要求进行操作。您要求它将'0'' 0'进行比较,结果发现它们不同。这是因为领先的空白。如果您曾要求SAS将'0''0 '进行比较,那么由于SAS如何处理尾随空白,它们会发现它们匹配。请改为A = left(put(0,2.));A = put(0,2.-L);

相关问题