SAS(六)SAS运算符、字符比较及运算次序
运算符
- 算术运算符:
+ - * / **/*乘方*/
- 比较算符:
=(EQ) ^=(NE) >(GT) <(LT) >=(GE) <=(LE) in/*变量的值在某一个范围*/
- 逻辑算符:
&(AND) |(!)(OR) ^(~)(Not)
- 其它:
><(最小值) < >(最大值) ||(!)(连接)
字符比较
- 1、按机器使用的字符排列次序(ASCⅡ或Unicode)从左到右被比较。
- 2、两个不等长的字符串被比较时,系统在较短的字符串后自动添上空格
- 3、在比较符后加冒号,则只比较首字母
data opreate; input (a b c) ($); if a>b then result1='true '; else result1='false'; result2='Fox'<>'Fox ';/*result2变量的长度 由最长的字符串决定*/ result3='Fox'<>' Foxs'; if a>:'S' then result4="Great than S"; cards; GRAY ADAMS G TOM TOMA T Sam Robe S sa SA g s { | a Щ Ш b ↓ ↑ c ; run; proc print data=opreate; run;
结果

运算次序
- 在括弧里的表达式先计算
- 第一级:** (+ -)前缀 ^ >< < >
- 第二级:* /
- 第三级:+ -
- 第四级:||
- 第五级:其余比较算符
- 第六级:&
- 第七级:|
对于相同优先级的算符,左边的运算先做。但有两个例外:
1.对最高优先级,右边的运算先做
2.当两个比较算符围着一个量时,这个表达式看成是有一个and 出现一样被计算。
如:12<age< 20,
等价于:12<age & age<20
如:12<age< 20,
等价于:12<age & age<20
来源:CSDN
作者:路易三十六
链接:https://blog.csdn.net/LuYi_WeiLin/article/details/103237800