oracle 表達式運算符優先級


  oracle 有以下幾種運算符

  算數運算符  連接運算符  比較(關系)運算符  邏輯運算符

  1.算數運算符

  算數運算符有四個, + , - ,* ,/。

SELECT sal,sal*12 from emp;    #sal 和sal*12后的值。

 

  2.連接運算符

  連接運算符有  || 可以將兩個字符串連接在一起。

SELECT ename || “的工資是” || sal FROM emp;   #此||就是將員工和工資連接在一起         bob (ename)“的工資是”1500(sal)

  3.比較(關系)運算符

  關系運算符有  > 大於,>=大於等於, <小於, <= 小於等於,!= 或 <> 不等於。

SELCET  ename,sal,hiredate    from emp WHERE    hiredate > '01-JAN-91';                #找出1991年01月01日日期以后的記錄。   

  特殊的關系運算符  "BETWEEN  AND"  "IN" "LIKE"

  BETWEEN AND  為選取一個范圍內的的記錄。例:

SELECT ename,sal  FROM emp  WHERE sal  BETWEEN 1500 AND 3000;        #sal列下1500-3000的記錄。

  IN 為截取多個記錄。 例:

SELECT ename,sal,hiredate,job  FROM emp WHERE job  IN ('SALESMAN','CLERAK','MANAGER');   #選取 job值為‘SALESMAN’,'CLERAK','MANAGER'的記錄。

  LIKE 結合通配符匹配    例:

SELECT empno,ename,sal,job FROM emp WHERE job LIKE 'SAL%';   #%可以理解為通配符,等同於*號。表示任意字符。

  % 代表0個或多個字符

  _ 代表單個字符 例:

SELECT ename,sal,job FROM emp WHERE job LIKE 'S_L_S%';   #第一個字符為S,第二個為L,第三個為S,的任意值。

如果匹配的值里包含有%或_,可進行轉義。例:

CREATE TABLE test_dept AS SELECT * FROM dept;  #新建一張測試表。
INSERT INTO test_dept VALUES(88,'IT_RESE','BEIJING');   #插入記錄
SELECT * FROM test_dept WHERE dname LIKE 'IT\_%'  escape '\';   #escape 定義轉義字符。

  4.邏輯運算符

  邏輯運算符有   AND (邏輯與)  OR(邏輯或) NOT (邏輯非)

  T為真,F為假   AND 表達式為    表達式1  AND 表達式2   表達式一、二都成立結果為T,否者為F。

  F AND F  = F      F AND T = F    T AND T =T

  AND 優先級    F>NULL>T

  OR    表達式1 OR 表達式2   只要表達式有一個為真,結果就為真。

  F OR F =F       F OR T = T    T OR T = T

  OR 優先級  T >NULL>F

  NOT  表達式1 NOT 表達式2   兩邊條件都不成立時,結果為真

  F  NOT F =T     F NOT T = F     T NOT T = F

  ---------------------------------------------------------------------------------------

  運算符優先級

算數運算符>連接運算符>關系運算符>IS NULL,IS NOT NULL ,LIKE ,NOT LIKE ,IN ,NOT IN 運算符>BETWEEN  ,NOT BETWEEN 運算符>NOT 邏輯運算符>AND 邏輯運算符>OR 邏輯運算符。例:

SELECT ename,empno,sal,job FROM  emp WHERE job='CLERK' OR job   ='SALESMAN' AND sal>=1500;   #AND 表達式據優先級將會先進行運算。

 

  NULL  表示空值,不等同於空格,表達式只要包含NULL ,其結果就為NULL

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM