一,数值函数:
1,select ABS (-3) from dual; --绝对值函数
2,.CEIL 只产生大于或等于指定值的最小整数,要特别留意它对负数产生的影响。
select CEIL(5) from dual; 结果5
select CEIL(5.3) from dual; 结果5
select CEIL(-2) from dual; 结果-2
select CEIL(-2.4) from dual; 结果-2
3,FLOOR 返回等于或小于指定值的最大整数:
select FLOOR (5) from dual; 结果5
select FLOOR (5.3) from dual; 结果5
select FLOOR (-2) from dual; 结果-2
select FLOOR (-2.4) from dual; 结果-3
4,MOD 求余:MOD(value,divisor):
5,POWER 用于计算一个值与给定正指数的乘方:
select FOWER(3,2) from dual; 结果9
select FOWER(3,3) from dual; 结果27
6,SQRT 求平方根,注意,如果当试图为一个负数开方时,它会返回一个错误。
select SQRT(64) from dual; 结果8
7,8.ROUND和TRUNC是两个相关的单值函数,TRUNC按精度值截取某个数字,ROUND则根据给定的精度舍入数值。
select ROUND(126.564,0) from dual; 结果127
select ROUND(126.564,-2) from dual; 结果100
select ROUND(126.564,2) from dual; 结果126.56
8,AVG,MAX,MIN和SUM称为聚合函数:
AVG(列) 求平均值
SUM(列) 求总合
MAX(列) 求最大值
MIN(列) 求最小值
二,字符函数
1,LOWER(char):将字符串转化为小写格式.
select LOWER(ABCd) from dual; 结果abcd
2,UPPER(char):将字符串转化为大写格式.
select LOWER(abcd) from dual; 结果ABCD
3,LENGTH(char):返回字符串的长度.
4,LTRIM(char):去掉字符串char左端包含的set中的任何字符,set默认为空格.
5,substr:字符串截取函数:
select substr('abcd',2,2) from dual;结果为bc
6,字符串连接:||
select 'ab'||'cd' from dual; 结果为:abcd
7,instr:字符查找函数
select instr('abcdce','c') from dual;结果为3
8,replace:字符替换函数
select replace('abcdce','bc','test') from dual;结果为:atestdce
三,转换函数
1,TO_CHAR、TO_DATE或TO_NUMBER
(1)To_char:转换成字符串类型,如:select To_char(1234.5, '$9999.9') from dual;,结果:$1234.5
(2)To_date:转换成日期类型,如:select To_date('1980-01-01', 'yyyy-mm-dd') from dual;,结果:01-1月-80
months_between:返回两个日期间的
月份,如:months_between ('04-11月-05','11-1月-01'),结果,57.7741935
add_months:返回把月份数加到日期上的新日期,如:add_months('06-2月-03',1),结果,06-3月-03
add_months('06-2月-03',-1),结果,06-1月-03
next_day:返回指定日期后的星期对应的新日期,如:next_day('06-2月-03','星期一'),结果,10-2月-03
last_day:返回指定日期所在的月的最后一天,如:last_day('06-2月-03'),结果,28-2月-03
round:按指定格式对日期进行四舍五入,如:round(to_date('13-2月-03'),'YEAR'),结果,01-1月-03
round(to_date('13-2月-03'),'MONTH'),结果,01-2月-03
round(to_date('13-2月-03'),'DAY'),结果,16-2月-03
(按周四舍五入)
trunc:对日期按指定方式进行截断,如:trunc(to_date('06-2月-03'),'YEAR'),结果,01-1月-03
trunc(to_date('06-2月-03'),'MONTH'),结果,01-2月-03
trunc(to_date('06-2月-03'),'DAY'),结果,02-2月-03
(3)To_number:转换成数值类型,如:select To_number('1234.5') from dual;,结果:1234.5
2,UNION(交集)和UNION ALL(并集)
select * from scott.emp UNION select * from scott.emp;
select * from scott.emp UNION ALL select * from scott.emp;
3,自连接:select manager.ename from scott.emp manager,scott.emp worker where manager.empno=worker.mgr AND worker.ename='smith';
4,内连接和外连接:select table1.column,table2.column from table1[inner|left|right|full]join table2 on table1.column1=table2.column2;
四, commit(提交)、rollback(滚回去):
只要涉及到数据的增、删、改就会产生事物,事物要么执行提交,要么全部失败。
执行commit之后会释放在会话中所有的行和表锁。一旦执行就不能用rollback恢复。
自动提交事物:执行DDL(create table ,alter table ,drop table )、DCL(grant ,revoke)和退出SQL*plus时。
事物的ACID属性:原子性,一致性,隔离性,持久性
五,存储过程:
v_name varchar2(30) := 'xx'; begin select scott.emp.ename into v_name from scott.emp where empno = v_empno; dbms_output.put_line('员工信息' || v_name); end; execute declare begin proc_name(7369); end;