ORACLE特殊数据查询

ORACLE特殊数据查询技术

实验目的:
一、掌握日期型数据的操作技术
二、掌握层次查询技术
三、理解情景查询与翻译查询技术
四、了解统计查询技术

实验内容:
一、日期型数据的操作
日期型数据的查询显示

select hiredate from emp;

在这里插入图片描述
不同语言环境下日期型数据查询结果会有差异
设置语言环境为AMERICAN(英文时)

alter session set nls_language='AMERICAN';

在这里插入图片描述
SESSION 每建立一个连接connection会创建一个session会话

自由控制日期型数据的显示格式的方法

alter session set nls_date_format ='yyyy-mm-dd';

在这里插入图片描述
日期型数据的使用方法
不同语言环境下添加记录时日期型数据的使用方法
与当前的语言环境一致的格式
自由控制不同形式的日期型数据在数据添加与修改中的应用
避免使用2位年份,先用其他方式处理使之成为4位
避免使用文字化的月份
注意事项: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 level,empno,ename,mgr
   from emp
   start with empno=7839
   connect by prior empno = mgr 
	order by level;

在这里插入图片描述
三、情景查询与翻译查询技术
情景查询
decode(fieldName,orgValue,newValue)

select empno,ename,decode(deptno,10,'财务部',20,'技术部',30,'销售部'),deptno from emp; 

在这里插入图片描述
翻译查询
translate(fieldName,beforeValue,afterValue)

select 123.789,translate(123,1234567890,5432109876) encryte from dual;

在这里插入图片描述
SELECT empno,ename,decode(deptno,null,‘未知’)
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=7844;

在这里插入图片描述
存储的数据类型
数值型 int float number(6,2)
字符型 char varchar nchar nvarchar (varchar2)
日期型 datetime date timestamp

展示的数据类型(查询结果的内容)

desc emp;

在这里插入图片描述
字符型

to_char(value,formatString) 将数值转换成指定格式的字符串 .

select to_char(hiredate,'yyyy-mm-dd day') from emp where empno=7566; 

在这里插入图片描述
to_date(string,formatStirng 将字符串按指定格式转换成日期型数据

select to_date('2018,12月07','yyyy,month,dd') from dual; 

在这里插入图片描述
END

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值