Oracle筆記之一

 

 
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


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章