消除重复行 SELECT DISTINCT DEPTNO FROM EMP 查看表结构 (CMD命令中)DISCRIBE EMP 优先级 NOT>AND>OR ORDER BY ASC升序 DESC降序 LOWER 全部转换成小写 UPPER 全部转换成大写 INNITCAP 首字母大写其他小写 CONCAT 连接两个值等同于|| SUBSTR (expression,n1,n2)截取字符从n1开始,n2个字符,如果n1为负数则从右往左数 LENGTH(expression) 获取字符长度 INSTR (s1,s2,n1,n2)返回s2在s1中从n1开始第n2次出现的位置,n1,n2可以不写,默认值为1 LPAD (S1,N1,S2)返回S1被S2从左面填充到N1长度的字符串 SELECT LPAD(‘DE’,6,’*’) FROM DUAL 结果 ****DE RPAD(S1,N1,S2) 返回S1被S2从右面填充到N1长度的字符串 SELECT LPAD(‘DE’,6,’*’) FROM DUAL 结果 DE**** TRIM去除字符串头部或尾部(头尾)的字符 SELECT TRIM(‘S’FROM ‘SSMITH’) FROM DUAL 结果 MITH REPLACE(S1,S2,S3)把S1中的S2用S3替换 ROUND(expression,n1) 四舍五入到n1位,正数表示小数点后面,负数表示小数点前面 TRUNC(expression,n1) 截取到第n1位正数表示小数点后面,负数表示小数点前面 MOD(m,n)返回m除以n的余数 日期函数(格式碼CC世纪,YY,MM,DD,HH,MI,SS) SYSDATE 返回系统日期 MONTHS_BETWEEN 返回两个日期相差的月数 SELECT MONTHS_BETWEEN(HIREDATE1,HIREDATE2) FROM DUAL ADD_MONTHS 返回指定日期加上相应月数后的日期 SELECT ADD_MONTHS(HIREDATE,3)FROM DUAL NEXT_DAY 返回某一日期指定的下一指定日期 SELECT NEXT_DAY(‘1,6月,2017’,‘星期一’)FROM DUAL 返回2017年6月1号的下一个星期一是几号 LAST_DAY 返回指定日期当月最后一天的日期 SELECT LAST_DAY(‘1,6月,2017’)FROM DUAL ROUND(date[,’fmt’]) 将date按照fmt指定的格式四舍五入,如果没有指定fmt则默认为DD,将date四舍五入为最近的一天 TRUNC(date[,’fmt’]) 将date按照fmt指定的格式截断,如果没有指定fmt则默认为DD,将date四舍五入为最近的一天 EXTRACT 返回年或月或日 SELECT EXTRACT(MONTH FROM HIREDATE) FROM EMP SELECT TO_CHAR(HIREDATE,‘YY/MM/DD‘)FROM EMP指定格式转换 YYYY 完整数字表示的年份 YEAR 年份的英文表示 MM 两位数字表示月份 MONTH 月份的全名 DAY 星期几 DY 三个英文缩写表示星期 通用函数 NAL(N1,N2)如果N1不为null则返回N1,否则返回N2 NAL(N1,N2,N3)如果N1不为null则返回N2,否则返回N3 NULLIF(N1,N2)比较两个表达式,如果相等返回null,否则返回N1 SELECT COALESCE(COMM,0) COMM,DEPTNO FROM EMP返回第一个不为空的参数,参数个数不受限制 ************************************************** select ENAME,DEPTNO, (CASE DEPTNO WHEN 10 THEN ‘销售部‘ WHEN 20 THEN ‘技术部‘ WHEN 30 THEN ‘管理部‘ else ‘WU‘ END) DEPTNAME FROM DEPT *************************************************** select ENAME,DEPTNO, DECODE( DEPTNO 10, ‘销售部‘ 20, ‘技术部‘ 30, ‘管理部‘ ‘WU‘ ) FROM EMP 99语法: SELECT TABLE1.COLUM1 ,TABLE2. COLUM2 FROM TABLE1 CROSS JOIN TABLE2 交叉连接 ,产生笛卡尔积 NATURAL JOIN TABLE2 自然连接 JOIN TABLE2 USING COLUM JOIN TBLE2 ON TABLE1.COLUM=TABLE2.COLUM LEFT/RIGHT/FULL OUTER /JOIN TABLE2 ON TABLE1.COLUM=TABLE2.COLUM 全外连接为99独有 92语法 SELECT TABLE1.COLUM1 ,TABLE2. COLUM2 FROM TABLE1 WHERE TABLE1.COLUM=TABLE.COLUM 自然连接 WHERE TABLE1.COLUM=TABLE.COLUM(+) 左外连接 WHERE TABLE1.COLUM(+)=TABLE.COLUM 右外连接 授予视图权限: 登陆system 账户,密码oracle 语法:grant create view to scott DDL(schema data definition)数据库模式定义语言create alter drop truncate DCL(data control language) 数据库控制语言grant deny revoke DML数据操作语言 insert delete update select 数值类型及函数 number是oracle中的数据类型 Precision代表精度,sacle代表小数位数;Precision范围[1,38],scale范围[-84,127] 常用方法: abs()求绝对值:select abs(-3) as absvalue from dual round()四舍五入:select round(33.54,1) as roundvalue from dual,第二个参数为保留到小数第几位 ceil()向上取整:select ceil(33.34) as roundvalue from dual 结果:234 floor()向下取整:select floor(33.34) as roundvalue from dual 结果:33 mod()取模:select mod(5,3) as roundvalue from dual 结果:2 Sign()正负性:select sign(-4) as roundvalue from dual正数为1,负数为-1 Sqrt()求平方根:select sqrt(9) as sqrtvalue from dual 结果:3 Power()求乘方:select power(2,3) as powervalue from dual 结果:8 Trunc截取:select trunc(274364.3645,3) as truncvalue from dual 结果:274364.364
原文:https://www.cnblogs.com/yanweichen/p/9571471.html