在csdn上也看到一個帖子叫Oracle常用函數110.大概的看了一下,裡面數據計算的居多,協方差之類的.自己覺得用到的不多,今天看到的這個,不是很全,稍微增加了一下,等以後用到的時候可以查看.
一:字符函數 名稱 功用 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 插入的行數 修改的行數 刪除的行數