文档详情

ORACLE学习.docx

发布:2017-05-21约1.4万字共68页下载文档
文本预览下载声明
ORACLE判断为空ORACLE中判断是否为空,不是WHERE ENAME=NULL。正确的应该是:ENAME IS NULL 或者是ENAME=’’;VIEW 只能用 AS;CURSOR 只能用 IS;其他的,IS和AS是没有区别的。where里面的优先级:算术、连接、比较NOTANDOR。算术连接比较非与或。使用括号()可以强制改变优先级。( A OR B)AND C3.ORDER BY 用在SELECT语句的结尾。 默认升序(从上往下上升),DESC表示降序(从上往下依次下降)。OREDR BY 里面可以有多个排序列。 ORDER BY empsal,empyear连接符 || 可以将两个以上的列连接成一个列。 SELECT empname||empnoDISTINCT 消除重复行,SELECT DISTINCT empsal字符函数。大小写控制函数:UPPER()小写转换为大写;LOWER()大写转换为小写。DBMS_OUTPUT.PUT_LINE(UPPER(x));INITCAP()将一个字符串的每一个单词的首写字母变为大写。INITCAP(‘hello world’)=Hello World需要单引号将字符串引起来。CONCAT(s1,s2),连接两个字符串。SUBSTR(s1,n,m)字符串的截取。将字符串s1从n开始的m个字符截取出来。LENGTH(s1);测量字符串的长度。LENGTH(‘HELLO’)=5INSTR(s1,C),返回字符C在字符串s1中第一次出现的位置。数字函数。ROUND(X,M)四舍五入函数,ROUND(23.45678,3)=23.457TRUNC(X,M)截取函数,TRUNC(23.45678,2)=23.45ROUND函数会进行四舍五入但是TRUNC不进行四舍五入的计算,直接就是截取一段数字。MOD(X,M)取余数,MOD(1700,500)=200截取和四舍五入函数不会影响整数,只对小数有操作意义。日期函数 在日期上加上或者减去一个数字结果仍为日期。两个日期相减结果为日期之间相差的天数。SYSDATE获取的服务器上面的日期和时间。MONTHS_BETWEEN(t1,t2), MONTHS_BETWEEN(‘2016-04-27’,’1993-08-03’);数据类型的转换。 隐式数据类型转换:表达式计算中,ORACLE自动完成下列数据类型的转换:VARCHAR2/CHAR - NUMBERVARCHAR2/CHAR -DATETO_CHAR()可以获取任意时间中的单独的年数,月数,各个时间的数。格式一般的都要使用单引号‘ ’引起来。显式数据类型转换TO_CHAR( date,’format_model’)用fm去掉多余的前导零。TO_CHAR(date, fm DD-MON-YEAR);对日期的转换TO_CHAR(salary,’$99.999.00’);对数值的转换。Salary的数值位数不能操过了后面的格式所能表达的数值。通用函数。适用于任何数据类型,也试用于空值。NVL(s1,s2):如果如果为空或者不为空。NVL2(s1,s2,s3):若果s1不为空返回s2的值,如果s1为空,返回s3的值。 NULLIF(s1,s2)如果相等返回NULL,如果不相等返回s1。两个参数的不限数据类型但是数据类型必须相同。 COALESCE(s1,s2,s3....sn)遇到非null值返回该值,否则返回空值。逻辑表达式 CASE exp WHEN ... THEN ... WHEN... THEN... WHEN... THEN...DECODE函数多表查询 (1).CROSS JOIN 笛卡尔积,纯粹的乘积运算,以尽可能的方式来产生结果集。(MXN) FROM DEPT CROSS JOIN EMP (2).NATURAL JOIN 按照两个表相同的列来连接,可以消除重复列,但是列名必须是相同且其类型是一致的。FROM DEPT NATURAL JOIN EMP.在使用NATRUAL JOIN 创建列等值连接的时候,当有多个列满足条件时,可以使用USING来指定需要进行等值连接的列。FROM DEPT NATURAL JOIN EMPUSING(EMPNO) (3)使用ON来为JOIN指定连接的条件,FROM DEPT JOIN EMP ON DEPT.DEPTNO=EMP.DEPTNO JOIN...ON也可用于多表的连接。 FROM 表1 JOIN 表2 ON 表1.C=表2.C JOIN 表3 O
显示全部
相似文档