SAS(六)SAS運算符、字符比較及運算次序

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 出現一樣被計算。
如:
12age< 20
等價於:
12age & age<20

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章