您好,登录后才能下订单哦!
小编给大家分享一下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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。