文章标题
来源:互联网 发布:淘宝开店一定要交保证金吗 编辑:程序博客网 时间:2024/06/08 04:34
附加实验 oracle高级数据查询技术
实验目的:
一、掌握日期型数据的操作技术
二、掌握层次查询技术
三、理解情景查询与翻译查询技术
四、了解统计查询技术
实验内容:
一、日期型数据的操作
日期型数据的查询显示
set pagesize 180;
set linesize 260;
select ename,hiredate
from emp;
不同语言环境下日期型数据查询结果的差异
alter session set nls_language=’AMERICAN’;
select ename,hiredate
from emp;
alter session set nls_language=’SIMPLIFIED CHINESE’;
select ename,hiredate
from emp;
SESSION 每建立一个连接connection会创建一个session会话
自由控制日期型数据的显示格式的方法
select to_char(hiredate,’yyyy-mon-dd,hh:mi:ss’)
from emp;
与当前的语言环境一致的格式
日期型数据的使用方法
select to_date(‘2017,8月08’,’yyyy,month dd’)
from dual;
不同语言环境下添加记录时日期型数据的使用方法
select to_char(sysdate,’yyyy-mon-dd hh:mi:ss’) as CHINESETIME
from dual;
alter session set nls_language=’AMERICAN’;
select to_char(sysdate,’yyyy-mon-dd hh:mi:ss’) as AMERICANTIME
from dual;
select to_char(hiredate,’yyyy/mon/dd’)
from emp;
自由控制不同形式的日期型数据在数据添加与修改中的应用
避免使用2位年份,先用其他方式处理使之成为4位
select to_char(sysdate,’yyyy-mm-dd’),
to_char(to_date(‘19-06-15’,’yy-mm-dd’),’yyyy-mm-dd’),
to_char(to_date(‘97-06-15’,’yy-mm-dd’),’yyyy-mm-dd’)
from dual;
避免使用文字化的月份
select to_char(hiredate,’yyyy-mm-dd’)
from emp;
注意事项:2位数的年份会导致意外情况
当前世纪前半叶后半叶的区别
select to_char(sysdate,’yyyy-mm-dd’),
to_char(to_date(‘19-06-15’,’rr-mm-dd’),’yyyy-mm-dd’),
to_char(to_date(‘97-06-15’,’rr-mm-dd’),’yyyy-mm-dd’)
from dual;
查询技术
深度遍历的层次查询
select fieldName
from tableName
start with rootCondition
connect by prior fieldname = fieldName
上级节点的字段 当前节点的字段
select * from emp;
select empno,ename,mgr
from emp
start with empno=7839
connect by prior empno=mgr;
广度遍历的层次查询
select level,empno,ename,mgr
from emp
start with empno=7839
connect by prior empno=mgr
order by level;
形成环路的层次查询
set pagesize 160;
column newName format A20;
select level,
((lpad(’ ‘,3*level-1))||ename) as newName,
empno,
mgr
from emp
start with empno=7839
connect by prior empno=mgr;
不再成为一棵树或森林了trees 图 graph net
select level,
empno,
ename,
mgr
from emp
start with empno=7369
connect by prior empno=mgr;
三、情景查询与翻译查询技术
情景查询
decode(fieldName,orgValue,newValue)
select ename,
sal,
decode(deptno,’10’,’会计部’,
‘20’,’研发部’,
‘其他部门’)
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;
column translatedSal format A20;
select empno,
ename,
translate(sal,12364,98765) as translatedSal
from emp;
存储的数据类型
数值型 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
rollback;
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- P1206 犯罪团伙
- 链表的创建、插入、删除、释入
- .hpp与.h的区别
- 神经网络-tensorflow实现mnist手写数字识别
- Html&Css相关文章索引(1)
- 文章标题
- 【算法-java】打印出二叉树中结点值的和为输入整数的所有路径
- 如何向MVC5项目中添加Wep API
- STL之queue容器
- 一个带清除按钮的EditText-->ClearEditText
- PAT_1059. Prime Factors
- iOS开发之GCD使用总结
- 程序员找工作要有哪些面试技巧
- 如何获取app(apk和ipa)中的资源