Oralce 處理字符串函數

原文: Oralce 處理字符串函數

日常咱們用Oracle主要有兩種字符串類型
1.char始終爲固定的長度,若是設置了長度小於char列的值,則Oracle會自動用空格填充的。當比較char時,Oracle用空格將其填充爲等長,再進行比較。
2.VarChar2數據類型爲可變長度,雖然與VarChar數據類型是同義的,但在從此的Oracle版本中也許會有變化,因此應該避免使用VarChar,優先使用VarChar2。
固定長度的字符串字段使用Char,而其餘全部的字符串字段都應使用VarChar2.html

下面列出部分Oracle針對字符串操做的一些函數,如下函數可使用在字符串上,也可使用在列名上:
1.LOWER(string) 將輸入的字符串轉換成小寫
2.UPPER(string) 將輸入的字符串轉換成大寫
3.INITCAP(string) 將輸入的字符串單詞的首字母轉換成大寫。PS:若是不是兩個字母連在一塊兒,則認爲是新的單詞,例:a_b a,b  a b  相似前面這些狀況,都a和b都會轉換成大寫
4.鏈接符(||),將兩個字符串用||鏈接起來,除此以外還可使用Concat函數來鏈接字符串。例:select CONCAT(City,country) from Table
5.LPAD和RPAD,填充函數,這是兩個十分類似的函數,使用方式徹底同樣。容許在列的左[右]邊填充一組字符。例:RPAD(city,20,'.'),若是ciy的值沒有小於長度20的話,則用'.'在右邊補齊,補到20個,若是是用空格補齊,看上去就是像左對齊同樣。
6.LTRIM,RTRIM和TRIM,他們的做用是從字符串的左邊,右邊,左右兩邊刪除不須要的字符,默認時刪除空格。
格式:RTRIM、LTRIM(字符串,'刪除字符集') 第一個參數就是要進行刪除的字符,第二個參數是一個字符集來的,若是填寫的是'AB',Oracle會認爲是A和B,而後反覆檢查字符串的右端,直到字符串中的每一個字符都被刪除了,也就是說,直到遇到被刪除字符集中未出現的第一個字符時,才中止刪除。這樣講可能有點不是很明白,看下面例子
原數據
1 AAA.
2 AAA."
3 AA.AAB
RTRIM(name,'.B"')
1 AAA
2 AAA
3 AA.AA
若是以爲不夠明白的話,本身試多幾回就明白了!我也以爲講得好像不是很清楚同樣!
TRIM格式有點不同,直接看例子吧 select trim('A' from 列名) from tableName 或者trim(leading 'A' from 列名)或者trim(trailing 'A' from 列名) 等價於LTRIM和RTRIM函數同樣,其實TRIM函數就只是爲了簡化代碼而以。
7.LENGTH 該函數很簡單,就是告訴用戶一個字符串有多長,即字符串中有多少個字符,該函數自己並非很好用,但能夠作爲其它函數的一部分,用於計算表格須要多少空格,或者作爲orderby 子句的一部分。PS:您不能對一個使用LONG數據類型的列使用LENGTH之類的函數。
8.SUBSTR(string,start [,count]) 該函數告訴oracle提取出string一個子集,start開始位置,count提取長度,不指定count時,默認提取到該字符串的尾部。
  start同時也能夠指定爲負數,指定爲正數的時候是從字符串的起始位置開始算(左邊),指定負數時,是從末尾位置算(右邊)。PS:負數不能使用於Char數據類型,由於Char是固定長度的,   因此將使用空格填充他們的值,直到擴展到列的全長。
9.INSTR 返回指定的字符串所在的位置
  INSTR(string,set[,start [,occurrence ] ] ) 若是指定start,oracle則跳過前面全部字符串到該位置開始搜索,occurence,是強迫instr跳過前幾回與字符串匹配,給出下一次匹配的位置,若是occurence指定3,那就是匹配第三次的位置了。 例 instr('ABACAAA','A',2,2) 從ABACAAA中匹配A這個字符串,從2個位置開始匹配,匹配第2次A所在的位置。PS:若是set中不止有一個字符而是有幾個字符組成的,則INSTR給出該字符集中的第一個字符的位置。
10.Chr和ascii函數在即席查詢中不多使用。Chr把數值轉換成等價的ascii字符串 例:select chr(70) from dual
        ascii函數執行的結果恰好是相反的,傳遞給他字符串,它將轉換成對應的數值(只轉換第一個字符串),若是須要同時轉換多個字符串可使用DUMP函數 DUMP(string)正則表達式

PS:INSTR,REPLACE和SUBSTR的功能已經獲得擴展,能夠支持正則表達式。oracle

經過以上函數能夠單獨使用或者組合使用,這是一個簡單的過程,即將簡單的邏輯步驟組合起來完成很是複雜的任務。函數

相關文章
相關標籤/搜索