现在的位置: 首页 > 综合 > 正文

Oracle笔记之一

2018年05月22日 ⁄ 综合 ⁄ 共 1523字 ⁄ 字号 评论关闭

 

 
1.Oracle 复制表
 create table tmps as select * from emp;
2.使用子查询插入数据
 insert into temps select * from user_objects;
3.Oracle 中递归查询的使用
 select * from emp start with ename='KING'
 connect by prior empno = mgr;
 找出第顶部数据where ename='KING'
 总是找出前一条数据的empno 等于当前的数据行的父节点mgr
 
 select empno,ename,sys_connect_by_path(ename,'/') from emp start with ename='KING'
 connect by prior empno = mgr;--能够现实层级管理并用‘/’连接
4.基本数据类型容纳的长度 char 2000 不足右补空格 varchar 4000 varchar2 4000
5.向表中添加列 alter table tableA add col1 varchar(2000)
6. lpad函数
 lpad('source',len,'0') 左补足至N位
 rpad('source',len,'0') 右补足0至N位
 lower()转换为小写
 upper()转换为大写
 initcap() 单词首字母大写
 select initcap('hello world') s from dual-->Hello World
 length(A) 取A的长度
 substr('123456',start_index,length)
 substr('123456',2,3)->234
 instr('123456','23'[,times]) 获得字符串出息的位置------> 2
 ltrim() 去除左空格
 rtrim() 去除右空格
 trim() 删除两侧空格
 contact() 连接两个字符串
7.oracle的number[pre[,scale]] 1<=pre<=38 -84<=scale<=127
8 .ceil() 向上去整 ceil(23.9)->24 ceil(-23.8) ->23
   floor() 向下取整floor(23.9)->23 floor(-23.9)->24
   mod(12/5)->2 取模
   sign() 正数 1 ,零->0 ,负数->-1
   power(4,3) 4的三次方
   trunc()  trunc(2.789,2)->2.78 round(2.789,2)->2.79 trunc(2.789)=trunc(2.789,0)--->2.78
9.Oracle中日期的处理
 SELECT SYSDATE FROM DUAL;
 加上一个月
 SELECT add_months(SYSDATE,1) FROM DUAL;
 select to_date('2011-09-12','YYYY-MM-DD') FROM DUAL;字符串转日期
 select last_day(to_date('2011-09-12','YYYY-MM-DD')) FROM DUAL
 select months_between(to_date('2011-09-18','YYYY-MM-DD'),to_date('2011-09-14','YYYY-MM-DD')) FROM DUAL
 select next_day(to_date('2011-09-13','YYYY-MM-DD'),2) from dual--返回2011年09月13日后的第一个星期一

 日期 DD MM YYYY MI HH,HH12,HH24
 select TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') from dual

 

 

抱歉!评论已关闭.