Oracle数据库开发(清华大学出版社)第二章 案例代码

1.获取系统当前时间
select sysdate from dual;
2.设定当前会话的日期表现格式
alter session set NLS_DATE_ForMAT=‘YYYY-MM-DD’;
select sysdate from dual;
3.指定格式输出日期类型
select to_char(sysdate,‘YYYY-MM-DD’) from dual;

SQL 命令
1.创建备份数据表
create table empBak as select * from emp;
2.删除表格
drop table atest;
3.添加字段
alter table student add(address varchar2(50);
4.修改字段
alter table student modify(address varchar2(60));
5.删除字段
alter table student drop(address);

内连接
6.显示两表相同的地方
select empno,ename,e.deptno,dname from emp e join dept d on e.deptno= d.deptno order by deptno;
select empno,ename,dname,e.deptno from emp e,dept d where e.deptno= d.deptno order by d.deptno DESC;
外链接
7.将表中的空记录也显示出来
左连接
select ename,dname,sal, comm from emp e left join dept d on e.deptno=d.deptno;

8.修改数据
update atable set name=‘lingli’ where userid=1;

9.返回字符串并将所有字符变为小写
select lower(‘AaBbCcDd’) from emp;
10.变为大写
select upper(‘AaBbCcDd’) from dual;
11.粘贴字符
select rpad(‘123’,6,‘0’) right,lpad(‘123’,6,‘0’) left from dual;//6显示数字个数
12.trim截断,ltrim左,rtrim右 ,
select trim(’ acg ') from dual; //删除空格
select ltrim(‘aaabbbccccdccef’,‘abc’) from dual;
13.返回两个月后的日期
select add_months(sysdate, 2) from dual; //2为往后多加几个月
14.返回包含日期D的月份的最后一天
select last_day(sysdate) from dual;
15.返回day1与day2之间月的数目
select months_between(sysdate,‘06-3月-2019’) from dual;
16.返回日期D后,day的第一天
select next_day(sysdate,‘星期五’) from dual;
17.将日期D按照FMT指定的格式舍入。
select round(sysdate,‘YYYY’) from dual;
18.返回有FMT指定的单位的日期D,
select trunc(sysdate,‘YYYY’) from dual;
19.给出emp表中每个部门中工资的序号。
select row_number() over(partition by deptno order by sal) as empindex,empno,ename,sal,deptno froeptno from emp;
20.字段相同的显示相同序号
select rank() over(order by deptno) idx,empno,ename,sal,deptno from emp;
21.但不会空出预留序号
select rank() over(order by deptno) idx,empno,ename,sal,deptno from emp;

发布了105 篇原创文章 · 获赞 37 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43615815/article/details/102771228