您好,登錄后才能下訂單哦!
小編給大家分享一下Oracle中字符操作函數有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
CONCAT函數連接兩個字符字面值、列或者表達式從而生成一個更大的字字符表達式。語法:CONCAT(s1,s2)
select concat('Today is:',SYSDATE) FROM DUAL;
CONCAT只能使用兩個參數
select concat('Outer1 ',concat('Inner1',' Inner2')) from dual;
LENGTH函數返回組成字符串的字符數。空格、制表符和特殊字符都被LENGTH函數計算在內。只有一個參數,LENGTH(s)。(制表符算1)
select length('ab cd e') from dual;
LPAD(RPAD)函數返回給定字符串左(右)邊填充指定數量的字符后形成的合成字符串。用于填充的字符串包括字符字面值、列值、表達式、空格(默認)、制表符和特殊字符。
LPAD和RPAD函數有三個參數,語法:RPAD(s,n,p)和LPAD(s,n,p)。s表示源字符串,n表示返回字符串的最終長度,p指定用于填充的字符串。
select LPAD('abc',6,'*'),RPAD('abc',6,'*') from dual;
TRIM函數從字符值的開頭或結尾刪除一些字符,從面生成一個更簡短的字符項。
TRIM函數使用的參數由一個強制組成部分和一個可選組成部分構成。語法:TRIM([trailing|leading|both] trimstring from s)。被修整的字符串(s)是強制的。只能指定一個修正字符。
TRIM(s)刪除輸入字符串兩邊的空格。
TRIM(trailing trimstring from s) 從字符串s的結尾刪除所有trimstring(如果存在的話)。
TRIM(leading trimstring from s) 從字符串s的開頭刪除所有trimstring(如果存在的話)。
TRIM(both trimstring from s) 從字符串s的開頭和結尾刪除所有trimstring(如果存在的話)。
select trim(both '*' from '*****Hidden*****'),trim(leading '*' from '*****Hidden*****'),trim(trailing '*' from '*****Hidden*****'),trim(both from ' Hidden '),trim(trailing from ' Hidden'),trim(leading from 'Hidden ') from dual;
RTRIM函數從字符值的結尾刪除一些字符,從而生成一個更簡短的字符串。
語法:RTRIM(string[,trimstring]),被修整的string是必須的,可以刪除多個字符。默認刪除空格。
select rtrim('abcd ') from dual;
select rtrim('abcd***','*') from dual; select rtrim('abcd*#','*#') from dual;
LTRIM函數從字符值的開頭刪除一些字符,從而生成一個更簡短的字符串。
語法:RTRIM(string[,trimstring]),被修整的string是必須的,可以刪除多個字符。默認刪除空格。
select ltrim(' abcd') from dual;
select ltrim('***abcd','*') from dual; select ltrim('*#abcd','*#') from dual;
INSTR函數確定搜索字符串在給定字符串內的位置。它返回數字位置,在這個位置上,搜索字符串開始第n次出現(相對于指定的起始位置而言)。如果搜索字符串不存在,則返回0.
INSTR函數使用兩個可選參數和兩個強制參數。語法:INSTR(source string,search string,[search start position],[nth occurrence])。search start position的默認值是1或者source string的開頭。nth occurrence 的默認值是1或者第一次出現。
select instr('1#3#5#7#9#','#') from dual;
從左第1個字符往右,返回'#'第1次出現的位置。
select instr('1#3#5#7#9#','#',5) from dual;
從左第5個字符往右,返回'#'第1次出現的位置。
select instr('1#3#5#7#9#','#',3,4) from dual;
從左第3個字符往右,返回'#'第4次出現的位置。
select instr('1#3#5#7#9#','#',3,10) from dual;
從左第3個字符往右,返回'#'第10次出現的位置,沒有找到返回0.
select instr('1#3#5#7#9#','#',-1) from dual;
從右第1個字符往左,返回'#'第1次出現的位置。
select instr('1#3#5#7#9#','#',-1,3) from dual;
從右第1個字符往左,返回'#'第3次出現的位置。
select instr('1#3#5#7#9#','#',-3,3) from dual;
從右第3個字符往左,返回'#'第3次出現的位置。
SUBSTR函數從給定源字符串中給定的位置開始,提取指定長度的字符串。如果起始位置大于源字符串的長度,就會返回null。如果從給定起始位置提取的字符數大于源字符串的長度,返回的部分是從起始位置到字符串結尾的子字符串。
SUBSTR函數有三個參數,前兩個是強制的。語法:SUBSTR(source string,start position,[number of characters to extract])。要提取的默認字符數是從start position 到source string 結尾的字符數。
select substr('1#3#5#7#9#',5) from dual;
從從左到右數第5個字符處開始提取,從左到右提取,一直到源字符串結尾。
select substr('1#3#5#7#9#',5,3) from dual;
從從左到右數第5個字符處開始提取,從左到右提取,提取3個字符。
select substr('1#3#5#7#9#',-3,2) from dual;
從從右到左數第3個字符處開始提取,從左到右提取,提取2個字符。
select substr('1#3#5#7#9#',-3,-2) from dual;
空
REPLACE函數用替換項取代源字符串中出現的所有搜索項。如果替換項的長度與搜索項的長度不同,那么返回字符串的長度與源字符串的長度也不同。如果沒有找到搜索字符串,就會原封不動的返回源字符串。
REPLACE函數有三個參數,前兩個是強制的。語法:REPLACE(source string,search item[,replacement term])。如果省略replacement term參數,就會從source string 中刪除所有出現的search item。
select replace('1#3#5#7#9#','#','->') from dual;
select replace('1#3#5#7#9#','#') from dual;
以上是“Oracle中字符操作函數有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。