ORACLE特殊数据查询技术
2017-04-30 16:18
465 查看
实验目的:
一、掌握日期型数据的操作技术二、掌握层次查询技术
三、理解情景查询与翻译查询技术
四、了解统计查询技术
实验内容:
日期型数据的操作
日期型数据的查询显示
不同语言环境下日期型数据查询结果的差异
SESSION 每建立一个连接connection会创建一个session会话
自由控制日期型数据的显示格式的方法
日期型数据的使用方法
不同语言环境下添加记录时日期型数据的使用方法
与当前的语言环境一致的格式
自由控制不同形式的日期型数据在数据添加与修改中的应用
避免使用2位年份,先用其他方式处理使之成为4位
避免使用文字化的月份
注意事项:
2位数的年份会导致意外情况当前世纪前半叶后半叶的区别
层次查询技术
深度遍历的层次查询
广度遍历的层次查询
形成环路的层次查询
不再成为一棵树或森林了trees 图 graph net
情景查询与翻译查询技术
情景查询
翻译查询
存储的数据类型
数值型 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
代码部分:
--日期型数据的查询显示 select hiredate from emp; --不同语言环境下日期型数据查询结果的差异 alter session set nls_date_language='ENGLISH'; select hiredate from emp; alter session set nls_date_language='SIMPLE CHINSE'; 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; --深度遍历的层次查询 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; --情景查询 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; --翻译查询 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;
补充:
Oracle中Lpad函数和Rpad函数的用法相关文章推荐
- 《大型数据库作业4.2》ORACLE特殊数据查询技术
- 作业4.2:ORACLE特殊数据查询技术
- ORACLE特殊数据查询技术
- Oracle技术之利用数据泵导出查询结果(二)
- Oracle数据仓库查询优化技术
- Oracle技术之利用数据泵导出查询结果(一)
- DSG-SnapArchiving-Oracle历史数据归档管理和查询技术简述
- oracle高级数据查询技术
- ORACLE中如何查询前20个 和 修改特殊数据
- Oracle Sql插入数据中特殊字符的处理
- 使用sp_addlinkedserver 与 sp_addlinkersrvlogin从oracle查询数据
- Oracle基础学习二:表的创建 数据的操作 在VS程序中的查询显示
- Oracle的数据字典技术简析
- Oracle对两个数据表交集的查询
- 20061023个人技术日志(mssql链接服务器链接到oracle,由于数据长度不定产生的问题)
- 【白皮书】SnapArchiving - Oracle历史数据归档与查询管理软件
- Oracle的数据字典技术简析
- Oracle基础学习二:表的创建 数据的操作 在VS程序中的查询显示
- Oracle大批量数据查询注意要点
- ORACLE用户常用数据字典的查询使用方法