PLSQL經常使用函數(ORACLE)(1)

 1)處理字符的函數


  || 或 CONCAT---並置運算符。
  格式∶CONCAT(STRING1, STRING2)
  例:’ABC’|| ’DE’=’ABCDE’
  CONCAT(‘ABC’,’DE’) =’ABCDE’
  
  ASCII---返回字符的ASCII碼。
  例:ASCII(‘A’) = 65 
  
  CHR---返回指定ASCII碼的字符。
  例:CHR(65) = ‘A’ 
  
  INSTR---搜索子串位置 
  格式∶INSTR(STRING , SET[ , 開始位置[ , 出現次數]])
  例∶ INSTR (‘this is a test’ , ‘i’ , 1,2)=6
  
   INITCAP---將字符串每一個單詞首字母均變爲大寫
  例: INITCAP(‘this is a test’)=’ This Is A Test’’
  
  LENGTH----計算串長
  格式∶ LENGTH(string)
  
  RPAD,LPAD---右填充、左填充。默認爲填充空格。
  格式: RPAD(字符串 , 字符個數 , 填充字符)
  例: RPAD(‘ABC’ , 6 , ’H’)=’ABCHHH’
  
  LTRIM,RTRIM-----左右截斷。默認爲刪除空格。 
  格式∶ LTRIM(STRING[,’SET’])
  例∶ LTRIM(‘***tes*t***’ , ’*’)=’ tes*t***’
   
  LOWER----將字符串轉換爲小寫
  格式∶LOWER(string)
  
  UPPER---將字符串轉換爲大寫
  格式∶UPPER(string)
  
  SUBSTR----提取子串。START爲正數時從左開始、爲負數時從右開始
  格式∶ SUBSTR(STRING , START [ , COUNT])
  例∶ SUBSTR(‘WORDSTAR’ , 2 , 3)=’ ORD’
   
  REPLACE---搜索指定字符串並替換
  格式∶REPLACE(string , substring , replace_string)
  例∶ REPLACE(‘this is a test’ , ‘this’ , ‘that an’)=’that an is a test’
  
  TRIM---刪除字符串前綴或尾隨字符
  格式∶TRIM( [LEADING | TRAILING |BOTH] [ trimchar FROM ] string)
  LEADING---刪除前綴字符
  TRAILING---刪除後綴字符
  BOTH---先後綴字符均刪除(默認方式)
  Trimchar---指定刪除的字符
  
  注:INSTR,LENGTH,SUBSTR加B時針對字節.


  2)處理數字的函數


  LEAST---返回參數列表中的最小值。返回參數類型以第一參數爲準
  格式∶LEAST(value,value,value,value,value,….)value爲數字或字符串
  例∶ LEAST(1,2,5,-10,9)= -10
  
  SIGN---返回參數的符號位,負數--- -1,0----0,正數---1
  格式∶SIGN(value)
   
  CELL---返回大於等於特定值的最小整數
  格式∶CELL(value)
  例∶ CELL(-10,9)= -10


  3)處理日期


  SYSDATE---系統時間。精確至秒
  
  ADD_MONTH—加減月份。numvalue爲負數時減去相應月份
  格式: ADD_MONTH (data1,numvalue)
  
  MONTHS_BETWEEN---返回兩日期之間的月數,當data1
  格式: MONTHS_BETWEEN(data1,data2)
  
  LAST_DAY---返回指定日期的最後一天。
  格式∶LAST_DAY(date)
  
  TRUNC---將日期按照format格式截短,缺省爲DD(不是四捨五入)
  格式:TRUNC(date, format)
  例∶ TRUNC (to_date(‘2002-11-07’,’yyyy-mm-dd’),’MM’)= 2002-11-01
  
  4)分組函數


  返回基於多個行的單一結果.
  經常使用函數:
  AVG---求平均值
  COUNT---返回查詢的行數
  MAX---返回查詢列的最大值
  MIN---返回查詢列的最小值
  SUM---返回查詢列的總和
  MAX, MIN常與GROUP BY配套使用


  5)轉換函數


  TO_DATE---轉換字符串爲日期型
  格式∶ TO_DATE(STRING[,’FORMAT’])
  
  TO_CHAR---轉換日期型或數值型爲字符串。最重要的函數之一.其FORMAT格式多種多樣
  格式∶TO_CHAR(DATE [,’FORMAT’])
  FORMAT---具體格式參考ORACLE8i DBA 寶典P835數字格式元素
  P836 日期格式元素
  
  TO_NUMBER---轉換字符串爲數字
  格式∶TO_NUMBER(string [ , format])
  FORMAT---具體格式參考ORACLE8i DBA 寶典P835數字格式元素
   
  6)其餘


  DECODE---IF語句的另外一形式。將輸入數值與參數列表比較,返回對應值。應用於將表的行轉換成列以及IF語句沒法應用的場合。當與SIGN聯合使用時功能擴展,能夠判斷大於小於的狀況.
  格式: DECODE(input_value , value1 , result1 , value2 , result2 , ….defult_result)
  例∶ DECODE(VALUE,1,100,2,300,500)
  當VALUE=1時返回100
  當VALUE=2時返回300
  不然返回500
  
  DECODE(SIGN(VALUES-100), -1,-10,1,10,0)
  當VALUE<100時返回-10
  當VALUE>100時返回10
  當VALUE=100時返回0
  
  SELECT SUM(DECODE(EST_INT_KEY,77771,1,0)) A,
  SUM(DECODE(EST_INT_KEY,77772,1,0)) B,
  SUM(DECODE(EST_INT_KEY,77773,1,0)) C
  FROM PMS_BLK
  
  NVL---空值置換
  格式: NVL(value,替換值)
  例: NVL(value,’nullvalue’)當value爲NULL值時返回nullvalue不然返回value的值
  
  VSIZE---以字節爲單位返回數據類型尺寸
  格式∶VSIZE(數據類型)
  例∶ VSIZE(SYSDATE)=8
  
  USER---獲得當前用戶名
  
  ROWNUM--- oracle系統順序分配爲從查詢返回的行的編號,返回的第一行分配的是1,第二行是2,依此類推,這個僞字段能夠用於限制查詢返回的總行數。不能以任何基表的名稱做爲前綴。能夠用在限制返回記錄條數的地方不受ORDER BY的影響.
  例∶ select rownum,month,sell from sale where rownum=1
  或select rownum,month,sell from sale where rownum<2(返回第一條記錄)
  返回rownum在4—10之間的記錄
  select rownum,month,sell from sale where rownum<10
  minus
  select rownum,month,sell from sale where rownum<5;
  
  如下均錯誤:
  select rownum,month,sell from sale where rownum=2(1以上)
  select rownum,month,sell from sale where rownum>2
  
  ROWID---數據行在物理磁盤上的物理地址,Oracle經過ROWID來定位數據的具體位置,這是存取表中數據的最快的方法.
  RETURN---用於函數和過程當中.碰見RETURN程序馬上中斷,返回,再也不執行剩餘部分.
  SQLCODE---返回ORACLE錯誤號。
  SQLERRM---返回ORACLE錯誤信息。 oracle

相關文章
相關標籤/搜索