Oracle常用函式

2021-08-25 06:36:17 字數 3209 閱讀 2881

刪除表的字段

alter table 表名  drop column 欄位名

修改乙個表字段的長度

alter table 表名 modify 欄位名 varchar2(40)

刪除整個表的所有資料

truncate table 表名  要比delete快很多。

查詢資料庫有沒有被鎖住

select t2.username,  t2.sid,t2.serial#,t2.logon_time,t3.sql_text

from v$locked_object t1,v$session t2,v$sqltext t3

where t1.session_id=t2.sid

and t2.sql_address=t3.address

order by t2.logon_time

清除鎖

alter system kill session 'sid,serial#'

lpad(string a,int length,string addstring)

作用:把addstring新增到a的左邊,length 是返回值的長度。

例子 a : sql> select lpad('test',8,0) from dual;

lpad('test',8,0)

----------------

0000test

b: select lpad('test',8) from dual;

lpad('test',8)

--------------

test 注:不寫最後乙個引數,函式會預設在返回值左邊加乙個空格。

c: sql> select lpad('test',2,0) from dual;

lpad('test',2,0)

----------------

te d:sql> select lpad('test',3) from dual;

lpad('test',3)

--------------

tes

distinct(去除重複的資料)

select distinect 欄位名 from 表名

nvl

nvl(expr1, expr2) -> expr1為null,返回expr2;不為null,返回expr1。注意兩者的型別要一致

nvl (expr1, expr2, expr3) -> expr1不為null,返回expr2;為null,返回expr3。expr2和expr3型別不同的話,expr3會轉換為expr2的型別

null。

if (expr1, expr2)  -> 相等返回null,不等返回expr1

concat

連線兩個字串

; sql> select concat(010-,88888888)||轉23 tel from dual;

結果:010-88888888轉23

initcap

返回字串並將字串的第乙個字母變為大寫;

sql> select initcap(smith) upp from dual;

結果:smith

instr(c1,c2,i,j)

在乙個字串中搜尋指定的字元,返回發現指定的字元的位置

; c1 被搜尋的字串

c2 希望搜尋的字串

i 搜尋的開始位置,預設為

1 j 出現的位置,預設為

1 sql> select instr(oracle traning,ra,1,2) instring from dual; 

結果:9

lower

返回字串,並將所有的字元小寫

sql> select lower(aabbccdd)aabbccdd from dual;

結果:aabbccdd  

substr(string,start,count)

取子字串,從start開始,取count個

sql> select substr(13088888888,3,8) from dual;

結果:08888888

replace(string,s1,s2)

string 希望被替換的字元或變數

s1 被替換的字串

s2 要替換的字串

sql> select replace(he love you,he,i) from dual;

結果:i love you

translate(string,string,string)

translate

的主要作用是提取,

替換字串,

其作用有時候和replace

差不多.

具體看下面的例子

select translate('liyan4h123ui','#liyanhui','#') from dual

結果:4123

select translate('asadad434323', '#0123456789','#') from dual

結果:asadad

select translate('kkaxksx', 'kx', '12') from dual

結果:11a21s2

dbms_output.put_line

在儲存過程中列印輸出資訊時用。只限於pl/sql裡執行儲存過程。

Oracle常用函式

一 row number over 資料甲 1 select column name column name,data type,2 row number over partition by column name order by column name row num 3 from test c...

Oracle常用函式

數學函式 1.絕對值 o select abs 1 value from dual 2.取整 大 o select ceil 1.001 value from dual 3.取整 小 o select floor 1.001 value from dual 4.取整 擷取 o select trun...

oracle常用函式

1.concat c1,c2均為字串,函式將c2連線到c1的後面,如果c1為null,將返回c2.如果c2為null,則返回c1,如果c1 c2都為null,則返回null。他和操作符 返回的結果相同 select concat slobo svoboda username from dualuse...