首页 / ORACLE / oracle高级数据查询技术
oracle高级数据查询技术
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了oracle高级数据查询技术,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3216字,纯文字阅读大概需要5分钟。
内容图文
![oracle高级数据查询技术](/upload/InfoBanner/zyjiaocheng/918/9e89acf5b2444646a6ccc472028c5c39.jpg)
实验五 oracle高级数据查询技术
实验目的:
一、掌握日期型数据的操作技术
二、掌握层次查询技术
三、理解情景查询与翻译查询技术
四、了解统计查询技术
实验内容:
一、日期型数据的操作
日期型数据的查询显示
select hiredate from emp;
不同语言环境下日期型数据查询结果的差异
alter session set nls_date_language='AMERICAN';
select hiredate from emp;
alter session set nls_date_language='SIMPLIFIED CHINESE';
select hiredate from emp;
SESSION 每建立一个连接connection会创建一个session会话
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
select hiredate from emp;
自由控制日期型数据的显示格式的方法
select to_char(hiredate,'y,yyy/mm/dd hh24:mi:ss day')from emp;
日期型数据的使用方法
select to_char(to_date('19-06-15','rr-mm-dd'),'yyyy-mon-dd')as systime
from dual;
不同语言环境下添加记录时日期型数据的使用方法
select to_char(sysdate,'yyyy-Mon-dd hh:mi:ss') as chinatime
from dual;
alter session set nls_date_language='AMERICAN';
select to_char(sysdate,'yyyy-Mon-dd hh:mi:ss') as Americantime
from dual;
与当前的语言环境一致的格式
select to_char(hiredate,'yyyy/mm//dd')
from emp;
自由控制不同形式的日期型数据在数据添加与修改中的应用
select to_char(hiredate,'yyyy/mm/dd'),
to_char(hiredate,'y,yyy-mon-dd'),
to_char(hiredate,'rrrr-RM-dd')
from emp;
避免使用2位年份,先用其他方式处理使之成为4位
select to_char(sysdate,'yyyy-mm-dd'),
to_char(to_date('97-10-03','yy-mm-dd'),'yyyy-mon-dd'),
to_char(to_date('02-05-07','yy-mm-dd'),'yyyy-mon-dd')
from dual;
避免使用文字化的月份
alter session set nls_date_language='AMERICAN';
select to_char(sysdate,'yyyy/Mon/dd hh24/mi/ss')as chinatime
from dual;
注意事项:2位数的年份会导致意外情况
当前世纪前半叶后半叶的区别
二、层次查询技术
深度遍历的层次查询
select fieldName
from tableName
start with rootCondition
connect by prior fieldname = fieldname
select empno,ename,mgr
from emp
start with empno=7839
connect by prior empno=mgr;
上级节点的字段 当前节点的字段
广度遍历的层次查询
select * from emp;
select empno,ename,mgr
from emp
start with empno=7839
connect by prior empno=mgr
order by level;
形成环路的层次查询
select empno,(lpad('',(level-1)*2)||ename)as ename,mgr,level
from emp
start with empno=7839
connect by prior empno=mgr;
不再成为一棵树或森林了trees 图 graph net
select empno,(lpad('',(level-1)*2)||ename)as ename,mgr,level
from emp
start with empno=7902
connect by prior mgr=empno;
三、情景查询与翻译查询技术
情景查询
decode(fieldName,orgValue,newValue)
select ename,sal,decode(deptno,'10','会计部','20','销售部','30','研发部','其他部门')
from emp;
select ename,sal,case deptno
when 10 then '会计部'
when 20 then '销售部'
when 30 then '研发部'
else '其他部门'
end
from emp;
翻译查询
translate(fieldName,beforeValue,afterValue)
SELECT empno,ename,decode(deptno,null,'未知')
FROM EMP
select translate(123.69,12345678,6901482735) transNum
from dual;
update emp set sal=translate(1500.9,1234567890,6912035487) where empno=7;
存储的数据类型
数值型 int float number(6,2)
字符型 char varchar nchar nvarchar (varchar2)
日期型 datetime date timestamp
展示的数据类型(查询结果的内容)
字符型
to_char(value,formatString) 将数值转换成指定格式的字符串 0 9 , .
to_date(string,formatStirng 将字符串按指定格式转换成日期型数据
NLS native language system
alter session set nls_language='%s' AMERICAN/SIMPLIFIED CHINESS
内容总结
以上是互联网集市为您收集整理的oracle高级数据查询技术全部内容,希望文章能够帮你解决oracle高级数据查询技术所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。