資源描述:
《oracle一些命令詳解》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、(三)、對(duì)查詢結(jié)果排序(ORDERBY子句)語法格式:SELECT{DINTINCT}*
2、具體的列別名FROM表名{WHERE條件(S)}{ORDERBY排序的字段1ASC
3、DESC,排序的字段2ASC
4、DESC}1.升序排序(ASC一般默認(rèn)的就是升序,即不寫排序類型時(shí)默認(rèn)是升序)例:查詢出emp表的內(nèi)容并按薪水升序排列SELECT*FROMempORDERBYsal;SELECT*FROMempORDERBYsalASC;2.降序排列(在排序字段后加DESC)例:查詢出emp表的內(nèi)容并按薪水降序排列SELECT*FROMem
5、pORDERBYsalDESC;3.多個(gè)排序排序條件此時(shí)先按第一個(gè)條件排序第一個(gè)條件的內(nèi)容相等在按第二個(gè)條件排序例:查詢出emp表的內(nèi)容先按薪水由高到低排序如果薪水一樣則按雇傭日期由早到晚排序SELECT*FROMempORDERBYsalDESC,hiedateASC;(四)、單行函數(shù)在數(shù)據(jù)庫系統(tǒng)中,每個(gè)數(shù)據(jù)庫之間唯一不同的最大區(qū)別就在于函數(shù)的支持上,使用函數(shù)可以完成一系列的操作單行函數(shù)語法:Function_name(column
6、expression,[arg1,arg2…..])參數(shù)說明:Function_name:函
7、數(shù)名稱Column:數(shù)據(jù)庫列名Expression:字符串或計(jì)算表達(dá)式arg1arg2:在函數(shù)中使用的參數(shù)1、單行函數(shù)的分類:
8、---字符函數(shù)接受字符輸入并返回字符或數(shù)值
9、---數(shù)值函數(shù)接受數(shù)值輸入并返回?cái)?shù)值
10、---日期函數(shù)對(duì)日期數(shù)據(jù)進(jìn)行操作
11、---轉(zhuǎn)換函數(shù)從一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型
12、---通用函數(shù)NVL函數(shù)DECODE函數(shù)2、字符函數(shù)專門處理字符的函數(shù)字符的大小寫變更求出字符的長(zhǎng)度(1)、將小寫變?yōu)榇髮慤PPER(‘’)SELECTUPPER(‘smith’)FROMDUAL;àSMITH(2)、將大寫變小寫LOWE
13、R(‘’)SELECTLOWER(‘SMITH’)FROMDUAL;àsmith(3)、將單詞的第一個(gè)字符大寫INITCAP(“”)注:使用詞語不論輸入的字符是什么樣的大小寫格式輸出的均是首字符大寫其余小寫的形式SELECTINITCAP(‘SMITH’)FROMDUAL;àSmith例:將雇員表中的雇員姓名變?yōu)槭鬃帜复髮慡ELETINITCAP(ename)FROMemp;(4)、字符串除了可以使用
14、
15、連接外還可以使用CONCAT()進(jìn)行連接SELECTCONCAT(‘Hello’,’World’)FROMDUAL;à使用C
16、ONCAT()進(jìn)行字符串連接SELECT‘HELLO’
17、
18、’WORLD’FROMDUAL;à使用
19、
20、進(jìn)行字符串的連接操作但是可以看出CONCAT()并沒用
21、
22、好用(5)、字符串的長(zhǎng)度LENGTH(‘xxxx’)SELECTLENGTH(‘Hello’)FROMDUAL;(6)、字符串的替換REPLACE(‘xxx’,’被替換的內(nèi)容’,’替換的內(nèi)容’)SELECTREPLACE(‘Hello’,’H’,’W’)FROMDUAL;注:如果被替換的內(nèi)容不在字符串中SQL語句可以執(zhí)行但不會(huì)產(chǎn)生替換效果SELECTREPLACE(‘He
23、llo’,’a’,’r’);Hello將不會(huì)變化(7)、截取SUBSTR(‘Hello’,n,m)表示從第n位開始截取截取m位例:SELECTSUBSTR(‘Hello’,1,3)截取,LENGTH(‘Hello’);注:關(guān)于SubStr()面試相關(guān)的問題ORACLE中SUBSTR()的截取點(diǎn)是從0還是1開始
24、--從0或1開始都是一樣的因?yàn)閛racle比較智能★例:查詢出所有雇員的姓名及姓名的后三個(gè)字符SELECTename,SUBSTR(ename,LENGTH(ename)-2)FROMemp;注:如果從第n為開始截取不寫
25、截取多少位那么默認(rèn)從第n位一致截取到最后可以看出因?yàn)槊總€(gè)雇員姓名的長(zhǎng)度不一樣所以需要求出姓名的長(zhǎng)度在減去2,這樣比較麻煩★例:查詢出所有雇員的姓名及姓名的倒數(shù)第二個(gè)字符SELECTename,SUBSTR(ename,-2,1)FROMemp;為了方便的進(jìn)行字符串的截取oracle的substr()函數(shù)提供了更加方便的機(jī)制可以采用倒著截取的方式,只有輸入的位數(shù)是負(fù)數(shù)就表示倒著截取4、日期函數(shù)Oracle提供了很多和日期操作有關(guān)的函數(shù),包括加減日期但日期進(jìn)行加減結(jié)果會(huì)有一些規(guī)律
26、--日期+/-數(shù)字=日期
27、--日期+/-日期=數(shù)字
28、(天數(shù))在Oracle中當(dāng)前的日期使用SYSDATE表示SELECTSYSDATEFRONDUAL;例:查詢出10部門的雇員進(jìn)入公司的星期數(shù)SELECTename,ROUND((SYSDATE-hiredate)/7)FROMempWHEREdeptno=10;Oracle中