oracle函數是PL/SQL子程序,作為資料庫物件儲存在oracle資料庫中,會對傳遞進來的參數進行處理,並傳回一個處理結果,也就是傳回一個值,通常用於傳回特定的數據,oracle函數可分為系統函數和使用者自訂函數兩類。
本教學操作環境:Windows10系統、Oracle 19c版本、Dell G3電腦。
Oracle函數的定義
函數是作為資料庫物件儲存在oracle資料庫中,函數又稱為PL/SQL子程式。
函數會對傳遞進來的參數進行處理,並傳回一個處理結果,也就是傳回一個值。通常用於傳回特定的數據。
oracle函數可分為兩類:系統函數和使用者自訂函數。
ORACLE函數之單行函數
偽表:真實存在的表,方便進行資料驗證而暫時存在;表名:dual
1.字元函數
#函數名稱 | 作用 | 範例 | 結果 |
---|---|---|---|
initcap(char) | 首字母大寫 | initcap('nice') | Nice |
lower(char) | 轉為小寫 | lower('NICE') | nice |
#upper(char) | #轉為大寫 | #upper('nice') | NICE |
#ltrim(char,set) | 左剪 | ltrim( 'nice','ni') | ce |
rtrim(char,set) | #右剪 | rtrim(' nice','e') | nic |
concat(char1,char2) | 字串連接 | concat(' ni','ce') | nice |
substr(char,pos,len) | 取子字串 | substr ('nice',2,2) | ic |
instr(char,substr) | 查子字串位置 | instr('nice','c') | 3 |
translate(char,key,value) | 依字元對映翻譯 | translate('nice','ne','01') | 0ic1 |
replace(char,old,new) | #字串替換 | replace('nice','c','cc') | #nicce |
2.數值函數
函數名稱 | 作用 | 範例 | |||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
abs(n) | 取絕對值 | abs(-3) | 3 | ||||||||||||||||||||||||||||||||||||||||||||
取餘 | mod(3,2) | 1 | |||||||||||||||||||||||||||||||||||||||||||||
取符號 | sign(-3) | -1 | |||||||||||||||||||||||||||||||||||||||||||||
ceil(3.2) | 4 | #floor(n) | |||||||||||||||||||||||||||||||||||||||||||||
floor( 3.2) | 3 | round(m,n) | |||||||||||||||||||||||||||||||||||||||||||||
round(3.236,2 ) | 3.24 | power(m,n) | |||||||||||||||||||||||||||||||||||||||||||||
power(3,2) | 9 | sqrt(n) | |||||||||||||||||||||||||||||||||||||||||||||
sqrt(4) | 2 | trunc(m,n) | |||||||||||||||||||||||||||||||||||||||||||||
trunc(3.233,2) | 3.23 | sin(n) | |||||||||||||||||||||||||||||||||||||||||||||
sin(0) | 0 | cos(n) | |||||||||||||||||||||||||||||||||||||||||||||
cos(0) | 1 | # |
函數名稱 | 作用 | 範例 | 結果 |
---|---|---|---|
#months_between(date1,date2) | 返回兩日期間的月份(若date1在日曆中比date2早,則傳回一個負數,反之則回傳一個正數) | months_between('01-8月-2020','01-8月-2020') | |
add_months( date,m) | 返回把月份數加到日期上的新日期 | add_months('25-8月-2020',-1) | |
next_day(date,week) | 傳回指定新日期後的星期對應的新日期 | next_day('23-8月-2020','星期一') | |
last_day(date) | 傳回指定日期所在月的最後一天 | last_day('25-8月-2020') | |
round(date,p) | 依指定格式對日期進行四捨五入 | round(to_date('25-8月-2020'),'YEAR') | |
trunc(date,p) | 對日期依指定方式截斷 | trunc(to_date('25-8 月-2020'),'YEAR ') |
oracle函數之多行函數
函數名稱 | |
---|---|
##max(欄位名稱) | 傳回該欄位最大值 |
min(欄位名稱) | 傳回該欄位最小值 |
##sum(欄位名稱) | |
avg(欄位名稱) | |
count(*) | |
#count(欄位名稱) | |
count(distinct 欄位名稱) |
以上是什麼是oracle函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!