消除重复行
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