ORACLE特殊数据查询技术

– 前面介绍过的格式设置:
set pagesize 66
set linesize 160
spool E:\0411.txt
– soopl是将SQL Plus中的内容转换成.txt文本形式存放在E盘下的0411文件夹里

prompt 一、日期型数据的操作
prompt 1.日期型数据的查询显示
select to_char(sysdate,’yyyy-mm-dd day am HH24:MI:SS’)
from dual;
ORACLE特殊数据查询技术_第1张图片

prompt 2.不同语言环境下日期型数据查询结果的差异
select to_char(to_date(‘19-6月-15’,’yy-mon-dd’),’yyyy-mon-dd’),
to_char(to_date(‘79-6月-15’,’yy-mon-dd’),’yyyy-mon-dd’)
from dual;

select to_char(to_date(‘19-6月-15’,’rr-mon-dd’),’yyyy-mon-dd’),
to_char(to_date(‘79-6月-15’,’rr-mon-dd’),’yyyy-mon-dd’)
from dual;
ORACLE特殊数据查询技术_第2张图片

– SESSION 每建立一个连接connection会创建一个session会话
–alter session set nls_language=’%s’ AMERICAN/SIMPLIFIED
CHINESE;
ORACLE特殊数据查询技术_第3张图片

– 自由控制日期型数据的显示格式的方法
ORACLE特殊数据查询技术_第4张图片

– 日期型数据的使用方法
– 不同语言环境下添加记录时日期型数据的使用方法
– 与当前的语言环境一致的格式
– 自由控制不同形式的日期型数据在数据添加与修改中的应用
– 避免使用2位年份,先用其他方式处理使之成为4位
– 避免使用文字化的月份
– 注意事项:2位数的年份会导致意外情况
– 当前世纪前半叶后半叶的区别

prompt 二、层次查询技术
set feedback off;
column ename format a20;

prompt 1.深度遍历的层次查询
select level,empno,ename,mgr
from emp
start with empno=7839
–start with指定树状结构查询的开始
connect by prior empno=mgr
–connect by用于指定父节点和子节点之间的关系
order by level;
–order by用于对level列的数据进行排序
ORACLE特殊数据查询技术_第5张图片

prompt 2.广度遍历的层次查询
select level,
empno,
lpad (’ ‘,(level-1)*2)||ename as ename,
mgr
from emp
start with empno=7839
connect by prior empno=mgr
order by level;
ORACLE特殊数据查询技术_第6张图片
– 形成环路的层次查询,不再成为一棵树或森林了trees图graph net
set feedback on;

prompt 三、情景查询与翻译查询技术
prompt 1.情景查询
select ename,
sal,
deptno,
decode(deptno,’10’,’会计部’,’20’,’研发部’,’其他部门’) as dept
from emp;
ORACLE特殊数据查询技术_第7张图片
select ename,
sal,
deptno,
case deptno
when 10 then ‘会计部’
when 20 then ‘研发部’
else ‘其他部门’
end
from emp;
ORACLE特殊数据查询技术_第8张图片
prompt 2.翻译查询
select translate(123.69,1234567890,6901482735) as transNum
from dual;
ORACLE特殊数据查询技术_第9张图片
update emp set sal=translate(1500.9,1234567890,6912035487) where empno=7369;
select sal,empno
from emp;
ORACLE特殊数据查询技术_第10张图片
– 存储的数据类型
– 数值型 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;
– 每次操作完可回退,防止造成数据不小心删除。(先将commit注释,操作全部完成后将commit注释取消)
spool off;
commit;
– 直到所有操作都正确,并记得将rollback注释然后就可以提交了

你可能感兴趣的:(oracle)