码迷,mamicode.com
首页 > 数据库 > 详细

oracle 表达式运算符优先级

时间:2015-09-28 13:11:28      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:

  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

  

oracle 表达式运算符优先级

标签:

原文地址:http://www.cnblogs.com/beliefer/p/4843640.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!