Oracle資料庫 四 函式上

2021-08-15 17:38:33 字數 3789 閱讀 9275

數值型函式

cos(n)函式:用於返回引數n的余弦,n為弧度表示的角度

acos(n)函式:反余弦值;cosh(n)函式:雙曲余弦值;

sin(n)函式:正弦值;sinh(n)函式:雙曲正弦值;

asin(n)函式:反正弦值;tan(n)函式:正切值;

tanh(n)函式:雙曲正切值;atah(n)函式:反正切值;

ceil(n)函式。其返回結果是大於等於輸入引數的最小整數,該輸入引數要求是十進位制數值型別,或可以隱式的轉換數值的型別,可以是非整數。

select ceil(10),ceil(『10,5』),ceil(-10.2) from dual; 10,11,-10

floor(n)函式。其返回結果是小於或等於引數的最大整數,該函式輸入引數要求是十進位制數值型別,或可以隱式地轉換為數值的型別。可以是非整數。同ceil函式相反。

select floor(10),floor(『10.5』),floor(-10.2) from dual; 10,10,-11

sqrt(n)函式。該函式返回n的平方根。n為數字型別的時候不能為負數,將返回乙個實數,當n為binary_float 或 binary_doubie型別時,n<0將返回nan。

select sqrt(100),sqrt(『53.9』) from dual;

power(n2,n1)函式。利用該函式可以得到n2的n1次冪的結果。這兩個引數為任意數值,但如果n2為負數,那麼n1必須為整數。

select power(5,2),power(『5』,2),power(5.5,2.5),power(-5,2),5*5 from dual

exp(n)函式,表示返回e的n次冪,e為數學常量,e = 2.71828183…

log(n1,n2)函式。該函式可以返回以n1為底n2的對數,n1是除1和0以外的任意正數。n2為正數。

select log(10,100),log(10.5,』100』),power(10,2) from dual;

ln(n)函式,表示返回n的自然對數。n要求大於0。

round(for number) 函式。該函式的具體原型是round(n,integer)。它將數值n四捨五入成第二個引數指定的形式的十進位制數。引數integer要求是整數,如果不是整數,那麼它將被自動擷取為整數部分。當integer為正整數時,表示n被四捨五入為integer為小數。如果該引數為負數,則n被四捨五入到小數點向左integer位。

select round(100.23456,4),round(100.23456,2.56),round(155.23456,-2) from dual; 100.2346 100.23 200

trunc(for number) 函式。該函式原型trunc(n,integer)。它把數值n根據integer的值進行擷取,擷取時和integer的正負有關。引數integer要求是整數,如果不是整數,那麼n將擷取到integer位小數;如果integer為負數,則擷取到小數點左第integer位,被擷取部分用0代替。

select trunc(100.23456,4),trunc(100.23456,2.56),trunc(155.23456,-2),trunc(155.23456) from dual; 100.2346 100.23 100 155

字元型函式

chr(n[using nchar_cs])函式。根據相應的字符集,把給定的ascii碼轉換為字元。using nchar_cs指明字符集

select chr(65) || chr(66) || chr(67) abc, chr(54678) from dual;

ascii(char)函式,返回首字母的ascii碼值。

length函式,返回字串長度

substr函式,該函式提供擷取字串的功能,而且該函式有很多的擴充套件形式,其具體語句結構是

(char,position[,substring_length]).

--position 要擷取字串的開始位置,初始為1,如果該值為負數,則表示從char的右邊算起 substring_length 擷取的長度

字串連線函式:concat(char1,char2) 效果連線符」||」 相似

字串搜尋函式:instr(string,substring[,position[,occurrence]])。

substring:要搜尋的字串,position:搜尋的開始位置,預設為1,負數從右開始,occurrence:substring第幾次出現,預設為1

字母大小寫轉換函式:

upper(char):裝換成大寫字母 lower(char):轉換成小寫字母

帶排序引數的字母大小寫轉換函式:

nls_initcap(char[,nlsparam])函式。將指定引數的第乙個字母轉換成大寫。

nlsparam引數為可選引數,其設定可以到nsl_database_parameters表中查詢。如果該函式沒有nlsparam引數,則它和initcap函式一樣。

select nls_initcap('a test'), nls_initcap('my test','nls_sort = schinese_stroke_m') from dual;

--引數中'nls_sort=schinese_pinyin_m'表示按拼音排序。

nls_lower(char[,nlsparam])函式。將指定引數轉換成小寫。nlsparam引數同nls_initcap函式設定

select nls_lower('abc','nls_sort= xgerman'),

nls_lower('this is a test','nls_sort= xgerman')

from dual;

為指定引數排序函式

nlssort(char[,nlsparam])函式。根據nlsparam指定的方式對char進行排序。

select * from productinfo

order by nlssort(productname,'nls_sort=schinese_pinyin_m')

替換字串函式

replace(char,search_string[,replacement_string]),

--char 搜尋的目標字串 search_string: 在目標字串中搜尋的字串 replacement_string 可選引數,用來代替被搜尋到的字串,如果不用刪除搜尋到的字元

字串填充函式

rpad(expr1,n[,expr2]) :在字串expr1的右邊用字元expr2填充,直到字串長度到n為止。如果expr2不存在,則以空格填充,

lrad(expr1,n[,expr2]) 在左邊填充

刪除字串首尾指定字元的函式

trim([leading|trailing|both][time_character from] trim_source)

--leading 刪除字首

--trailing 刪除字尾

--both 刪除time_source 的字首和字尾字元

--trim_charater 刪除的指定字元,預設刪除空格

--trim_source 被操作的字元數

rtrim(char[,set]) 刪除char右邊出現在set中的字元

ltrim(char[,set]),刪除左邊的字元

字符集名稱和id互換函式

nls_charset_id(string)函式。該函式可以得到字符集名稱對應id

nls_charset-name(number)函式。根據id得到名稱

Oracle資料庫(四) 游標

游標的屬性和限制 1 游標的屬性 found notfound isopen 判斷游標是否開啟 rowcount 受影響的行數 2 游標的限制 預設的情況下,oracle資料庫只允許在同乙個會話中,開啟300個游標 開啟sql plus 輸入show parameter cursor 修改游標數的限...

Oracle資料庫(十三) 函式

函式是通過return語句返回資料 只能作為乙個可執行語句的一部分執行。如果沒有引數,可以不用寫括號 函式能返回任何的資料型別,但是不能返回乙個異常 function shema.name parameter parameter.return return datatype authid defin...

oracle資料庫 儲存函式

一組封裝好的sql 語句集,提前編譯好,儲存在服務端。1 返回值 儲存函式必須有且只有乙個返回值,而儲存過程沒有return返回值。2 語法不同 儲存函式可以用在select語句中。儲存函式中一般不寫輸出引數。儲存函式可以與儲存過程互換,儲存函式可以在儲存過程中呼叫。1 基本語法結構 create ...