4.2、sqlplus、pl/sql中的sql語句使用
注意:以下帶*的語句都已經在sqlplus中經過測試。
4.2.1、如何返回系統當前日期、當前連線使用者……
* select sysdate from dual;--系統日期
* select to_char(sysdate, 'yyyymmdd hh24:mi:ss') from dual;--格式化後的日期
* select user from dual;--當前使用者
4.2.2、如何返回某字元的asci碼、某asci碼對應的字元
* select ascii('n') from dual;--返回字母n的asci碼
* select chr('78') from dual;--返回數字78對應的字元
4.2.3、使用decode 進行**轉換
select decode(column, 'var_1', 'val_1', 'var_2', 'val_2'…, 'var_n', 'val_n', , 'val_x')from tab;
4.2.4、學會使用其它常用函式trunc、trim、upper、round、replace、lower、lpad/rpad、substr、instr、translate、sys_context…在sql語句中對值進行理想化處理。
--對日期擷取到天
* select to_char(trunc(sysdate),'yyyymmdd hh24:mi:ss') from dual;
--對日期擷取到月
* select to_char(trunc(sysdate,'month'),'yyyymmdd hh24:mi:ss') from dual;
--對日期擷取到年
* select to_char(trunc(sysdate,'month'),'yyyymmdd hh24:mi:ss') from dual;
--對數字取整到小數點左邊第1位
* select trunc(15.19,1) from dual;
--對數字取整到小數點右邊邊第1位
* select trunc(15.19,-1) from dual;
--對日期四捨五入到天
* select to_char(round(sysdate),'yyyymmdd hh24:mi:ss') from dual;
--對數字四捨五入到小數點左邊第1位
* select round(15.19,1) from dual;
--對字串去掉左右空格
* select trim(' a b c ') from dual;
--去掉數字串中的某個數字
* select trim(0 from 00001234000) from dual;
--將字串中的某個字串替換為另乙個字串(可空)
* select replace('00001234000','0','') from dual;
--對字串進行一一對應的翻譯
* select translate('fa','abcdefg','白黑紅藍黃銀灰') from dual;
--將字元傳轉為大寫
* select upper('abc') from dual;
--將字元傳轉為小寫
* select lower('abc') from dual;
--將字串用某個字串(本例為w)左補齊(右補齊為rpad)到指定長度(本例為10)
* select lpad('abc',10,'w') from dual;
--從字串指定位置(本例為2)擷取指定長度(本例為3,預設為擷取到末尾)的子串。
* select substr('abcdef',2,3) from dual;
--獲取字串中子串從指定位置(預設為1)起第一次出現的位置
* select instr('abcdedef','de',5) from dual;
--獲取當前連線的客戶端環境資訊,如客戶端ip位址
* select sys_context('userenv','ip_address') from dual;
4.2.5、在查詢語句中使用case實現分支開關語句
* select case when '1'='1' then
'abc'
else
'cba'
end alias_name from dual;
或:* select case '1' when '1' then
'abc'
else
'cba'
end alias_name from dual;
4.2.6、如何返回表的前n行,第n~m行,按某欄位排序後的前n行。
--返回前n行
select * from tab where rownum--返回第n~m行
select * from tab where rownumminus
select * from tab where rownum--返回按某欄位排序後的前n行
select * from (select * from tab order by column desc/asc) where rownum注意,「select * from tab」中的tab可以是乙個查詢結果集。
Oracle學習1 Oracle簡介
隨著工作的深入,越發發現需要系統的重新梳理oracle sql相關知識,這裡新開篇幅,力求做到言簡意賅。sql structured query language,結構化查詢語句。結構化查詢語句,有時也被稱為 語言。前三代語言分別是 機器語言 組合語言 高階語言。sql不關注其具體的執行過程,只關注...
(1)Oracle學習筆記
連線資料庫的命令connect,用於切換連線使用者,簡寫形式conn 語法格式 conn 使用者名稱 密碼 conn yanln yanln 顯示當前登入的使用者 show user 執行作業系統的命令 host mkdir d testoracle 匯出記錄到文字 spool d testorac...
Oracle基礎學習1 Oracle安裝
安裝過程較簡單。按著步驟走就可以。這裡須要提醒假設要使用pl sql來操作oracle。那麼最好安裝32位oracle程式。原因是網上說pl sql僅僅對32位oracle進行支援,假設用64為oracle pl sql協同工作,會出現很多問題,比如無法載入oci.dll等。自己當然也親自經歷過,6...