gpt4 book ai didi

sas - 在带有文本的 sas 中使用 <> 运算符表示不等于

转载 作者:行者123 更新时间:2023-12-04 20:54:38 24 4
gpt4 key购买 nike

我刚开始学习 sas 的新工作,并且对 <> 运算符有疑问。从我的阅读来看,这并不等于“不等于”,而是一种 MAX 函数。

但是在我的新地方的一个程序中,他们将其用作两个文本值之间的不等于,例如'current'<> 'current',包含在 IF 中。这个对吗?文字有区别吗?

最佳答案

作为对 SQL 语法支持的一部分,SAS 必须进行调整以允许 <>在 SQL 代码中表示不相等。当他们延长 WHERE语句在他们使用用于 SQL 实现的库的几乎所有情况下都有效。所以在 PROC SQL 代码和 WHERE 语句中 <>表示不相等。但在数据步骤代码中,它仍然意味着 MAX。

所以如果你使用 <>IF语句,那么您请求的是 MAX 运算符而不是 NOT EQUALS 运算符。

57   data _null_;
58 str='Hi';
59 if str <> 'Hi' then put 'TRUE'; else put 'FALSE';
NOTE: The "<>" operator is interpreted as "MAX".
60 run;

NOTE: Character values have been converted to numeric values at the places given by:
(Line):(Column).
59:10
NOTE: Invalid numeric data, 'Hi' , at line 59 column 10.
FALSE
str=Hi _ERROR_=1 _N_=1

关于sas - 在带有文本的 sas 中使用 <> 运算符表示不等于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50234336/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com