Oracle PL/SQL 常用函數

來源:互聯網
上載者:User
在csdn上也看到一個文章叫Oracle常用函數110.大概的看了一下,裡面資料計算的居多,共變數之類的.自己覺得用到的不多,今天看到的這個,不是很全,稍微增加了一下,等以後用到的時候可以查看.Code
一:字元函數
名稱     功用
LOWER(xland)     將字串運算式xland中的所有大寫字母轉換為小寫字母
UPPER(xland)     將字串運算式xland中的所有小寫字母轉換為大寫字母
INITCAP(xland)     xland字串中首字母轉換成大寫
       
SUBSTR(xland,start,length)     返回字串運算式xland中從第start開始的length個字元(按字元數計算長度)
substrb(xland,start,length)     返回字串運算式xland中從第start開始的length個字元(按位元組數計算長度)
       
LENGTH(xland)     返回字串xland的字元長度
LENGTHb(xland)     返回字串xland的位元組長度
       
LTRIM(xland)     去掉字串xland左側的空格,並傳回值
RTRIM(xland)     去掉字串xland右側的空格,並傳回值
Trim(xland)     去掉字串xland兩端的空格,並傳回值
       
REPLACE(xland,str1,str2)     將字串xland中所有str1換成str2
       
INSTR(xland,str,start,times)     在xland字串中搜尋str字串,start為執行搜尋操作的起始位置,times為搜尋次數

CHARINDEX
返回字串中指定運算式的起始位置。
文法
CHARINDEX ( expression1 , expression2 [ , start_location ] )
如果在 expression2 內沒有找到 expression1,則 CHARINDEX 返回 0。 
 

二:日期函數
名稱     功用
SYSDATE     返回系統當前日期和時間
NEXT_DAY(day,char)     day為date型,char為字串型代表星期幾,
假設今天是2009-7-18星期六,那麼next_day(sysdate,'星期一');返回的是2009-7-20
LAST_DAY(day)     返回day日期所指定月份中最後一天所對應的日期
ADD_MONTH(day,n)     返回day日期在n個月後(n為正數)或前(n為負數)的日期
MONTHS_BETWEEN(day1,day2)     返回day1日期和day2日期之間相差得月份,兩個參數的格式必須一致,此函數不好用

 

三:資料類型轉換函式
名稱     功用
to_char(xland,[format])     將日期或數字類型的變數xland轉換成字串類型
給一個格式字串yyyy-mm-dd  hh-mi-ss
to_date(xland,[format])     將字串轉換成指定格式的日期形式
TO_NUMBER(xland)     將字元型資料轉換成數字型資料

 

四:集合函數
名稱     功用
AVG     計算一列值的平均值
COUNT     統計一列中值的個數
MAX     求一列值中的最大值
MIN     求一列值中的最小值
SUM     計算一列值的總和

五:預定義錯誤
名稱     功用
zero_divide     發生被0除的錯誤
case_not_found     在case語句中沒有包含必須的where子句
no_data_found     select into 語句沒有返回任何資料
dup_val_on_index     試圖在一個具有唯一約束的列中插入重複的值
invalid_error     發生一個演算法、轉換、截斷、大小約束錯誤(sql語句中)
value_error     發生一個演算法、轉換、截斷、大小約束錯誤(過程性語句中)

六:顯式遊標屬性
名稱     功用
cursor_name%isopen     開啟狀態true,關閉狀態false
cursor_name%found     最近一次提取遊標操作,成功為true,失敗為false
cursor_name%notfound     與cursor_name%found相反
cursor_name%rowcount     最近一次提取到的資料行的序號

七:隱式遊標屬性
屬性     值     select     insert     update     delete
sql%isopen           false     false     false     false
sql%found     true     有結果           成功     成功
sql%found     false     沒結果           失敗     失敗
sql%notfound     true     沒結果           失敗     失敗
sql%notfound     false     有結果           成功     成功
sql%rowcount           返回行數只為1     插入的行數     修改的行數     刪除的行數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.