天天看點

PL/SQL學習筆記-常用函數

此文章參考了網絡上的一篇文章,并對原文做了補充和修改,并将不斷補充和修改

作者已佚,

一:字元函數

名稱

功用

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為搜尋次數

二:日期函數

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

sql%found

true

有結果

成功

沒結果

失敗

sql%notfound

sql%rowcount

傳回行數隻為1

插入的行數

修改的行數

删除的行數

繼續閱讀