搜尋
首頁常見問題什麼是oracle函數

什麼是oracle函數

Jun 06, 2023 am 10:15 AM
oracle函數

oracle函數是PL/SQL子程序,作為資料庫物件儲存在oracle資料庫中,會對傳遞進來的參數進行處理,並傳回一個處理結果,也就是傳回一個值,通常用於傳回特定的數據,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.數值函數

##mod( m,n)取餘mod(3,2)1##sign(n)#ceil(n)##往上取整ceil(3.2)4#floor(n)向下取整floor( 3.2)3round(m,n)四捨五入為指定小數位數round(3.236,2 )3.24power(m,n)m的n次方power(3,2)9sqrt(n)平方根sqrt(4)2trunc(m,n)截斷trunc(3.233,2)3.23sin(n)正弦sin(0)0cos(n)餘弦cos(0)1#

3.日期函數

函數名稱 作用 範例
abs(n) 取絕對值 abs(-3) 3
取符號 sign(-3) -1
#025-7月-202024-8月-2020#31-8月-20201-1月-202101-1月-2020
函數名稱 作用 範例 結果
#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 ')

    #註:
  • p為YEAR,round按1-6月和7-12月,四捨五入到最近的yyyy年1月;trunc截取到本年第一天。
  • p為MONTH,round依1-15日及16-30日,四捨五入至最近mm月的1日;trunc截取到本月第一天。
p為DAY,round依週一至週三和週四至週日,四捨五入至最近的週日。 trunc截取到本週第一天。

oracle函數之多行函數
  • #對查詢資料進行統計

    不能和普通欄位及單行函數混合使用,除非分組作用##max(欄位名稱)傳回該欄位最大值min(欄位名稱)傳回該欄位最小值##sum(欄位名稱)傳回該欄位的和avg(欄位名稱)傳回該欄位平均值count(*)傳回表格記錄數#count(欄位名稱)傳回非空值數count(distinct 欄位名稱)返回去重後欄位值數
    函數名稱

    oracle函數之轉換函數
  • to_number(數值類型的字元):將字元轉換為數值

    to_char(數值或日期):將數值或日期轉換為字元

    指定顯示格式:

    9表示佔位,範例:999,999,999會將數字以三個一組逗號隔開。

    0表示佔位,若實際資料位數不足,則用0補位。

    L表示人民幣符號,$表示美元符號。
  • 附註:數值與字元之間可隱式轉換。

    to_date(日期格式的字元):將字元轉換為日期(一般新增使用,查詢用to_char)

    常用日期格式:yyyy-mm-dd

    yyyy/mm/dd

    'yyyy"年"mm"月"dd"日"'
註:字元必須符合日期格式;oracle預設轉換格式為日月年,例'25-8月-2020'。

    oracle函數之其他函數
  • #nvl(欄位名,新的值):若欄位值不為null,則傳回該欄位值;若為null,則傳回新的值。

  • nvl2(字段名,處理1,處理2):若字段值不為null,則執行處理1;若為null,則執行處理2。

decode(字段名,值1,處理1,值2,處理2,值3,處理3,...,公共處理):若字段值和decode中條件值相同,則執行對應的處理。若都沒有,則執行公共處理。 ##########

以上是什麼是oracle函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具