此文章參考了網絡上的一篇文章,并對原文做了補充和修改,并将不斷補充和修改
作者已佚,
一:字元函數
名稱
功用
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
插入的行數
修改的行數
删除的行數