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