sql語句的使用1(oracle)

2021-08-29 17:35:13 字數 2629 閱讀 3154

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...