编辑: 会说话的鱼 2015-07-19

initial captor 语法:initcap(字符串) SQL:>

select initcap(ename) from emp;

⑥函数:length 语法:length(字符串) SQL:>

select * from emp where length(ename)=5;

⑦函数:lower / upper 语法:lower(字符串) SQL:>

select lower(ename) from emp;

|-日期函数 sysdate add_months ①函数:sysdate SQL:>

select sysdate from dual;

dual-无实际意 义,函数测试或其他测试使用 ②月份差:months_between 语法:months_between(日期1,日期2) SQL: >

select * from emp where months_between(sysdate,hiredate)>

=144 ③函数:last_day 语法:last_day(日期数据) SQL:>

select * from emp where last_day(hiredate)-2=hiredate;

④函数:add_months 语法:add_months(时间,添加月份) SQL:>

select add_months(sysdate,3) from dual;

|-转换函数 to_char to_date ①转换函数 to_char 语法:to_char(时间数据,制定格式) SQL:>

select to_char(sysdate,'

yyyy-mm-dd hh24:mi:ss d ddd day'

) from dual;

yyyy-mm-dd 年月日 hh24:mi:ss 时分秒(24) d 一周第几天 ddd 一年的第几天 day 星期几 ②to_date: 将文本类型数据按照制定格式转换成时间类型数据 语法:to_date('

具体的时间字符数据'

,'

时间字符串格式'

) to_date('

2010-01-19'

,'

yyyy-mm-dd'

) 注意:Oracle中的date字段类型及其特殊 |-数学函数 abs ceil floor abs(n) 绝对值 ceil(n) 向上取值 ceilling天花板 ceil(1.1) ->

2 floor(n) 向下取值 floor地板 floor(2.9) ->

2 mod(m,n) 求模取余 mod(5,2) ->

1 power(m,n) m的n次方 power(2,8) ->

256 round(m,n) 四舍五入 m待处理数据 n精度 round(3.1415,2) ->

3.14 trunc(m) 整数截取 trunc(3.1415) =

3 sign(m) 符号 sqrt(m) 平方根 |-混合函数 user nvl ①user : 返回当前登录账号 SQL>

select user from dual;

②nvl : 替空函数 语法:nvl(字符串,替换后的数据) 注意:替换后的数据必须与该字段类型保持一致 SQL>

select ename,nvl(comm,0) from emp;

⑶分析函数:数据分析和挖掘功能 Data Mining rank dense_rank 作用:主要用于排名使用 函数:rank ①语法:rank() over (order by 字段名称) SQL:>

select rank() over(order by sal desc),ename,sal from emp;

若排名相同下一个将跳转 SQL:>

select dense_rank() over(order by sal desc),ename,sal from emp;

连续 ②语法:rank(参数1,参数2) within group(order by 字段1,字段2) SQL:>

select ename,rank(2850,'

BLAKE'

) within group(order by sal,ename) from emp;

⑷分组函数:类似于SQLServer中的聚合函数 sum avg count group by 分组关键字 having 条件 Oracle数据库的查询 ⑴制定区间查询 Oracle中伪列:Oracle为每张数据表(包括用户自定义创建的数据表)都自动创建两个位列分别是:rowid、rownum 通过命令:SQL>

desc 表名;

--查看表结构 rowid: 由18个字符组成唯一标识每一行 rownum: 行号 ⑵介绍 问题:使用Oracle分层查询以数据结构显示emp表中的人员关系 语法:select lpad(ename,level*5,'

'

) from emp connect by prior empno=mgr start with mgr is null;

⑶并集:查询部门10的办事员和部门20的经理 关键字:union all select * from emp where deptno=10 and job='

CLERK'

union all select * from emp where deptno=20 and job='

MANAGER'

;

注意:union all不会消除查询结果中的重复数据, union会消除查询结果中的重复记录 ⑷交集:查询部门10和部门20都有的工作类型 关键字:intersect select job from emp where deptno=10 intersect select job from emp where deptno=20;

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题