温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Oracle中字符操作函数有哪些

发布时间:2022-03-29 10:49:24 来源:亿速云 阅读:116 作者:小新 栏目:编程语言

小编给大家分享一下Oracle中字符操作函数有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

字符操作函数

      CONCAT

                   CONCAT函数连接两个字符字面值、列或者表达式从而生成一个更大的字字符表达式。语法:CONCAT(s1,s2)

                   select concat('Today is:',SYSDATE) FROM DUAL;

                   CONCAT只能使用两个参数

                   select concat('Outer1 ',concat('Inner1',' Inner2')) from dual;

      LENGTH

                   LENGTH函数返回组成字符串的字符数。空格、制表符和特殊字符都被LENGTH函数计算在内。只有一个参数,LENGTH(s)。(制表符算1)

                   select length('ab cd e') from dual;

      LPAD和RPAD

                   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函数使用的参数由一个强制组成部分和一个可选组成部分构成。语法: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函数从字符值的结尾删除一些字符,从而生成一个更简短的字符串。
                    语法:RTRIM(string[,trimstring]),被修整的string是必须的,可以删除多个字符。默认删除空格。
                    select rtrim('abcd  ') from dual;
                    select rtrim('abcd***','*') from dual;                    select rtrim('abcd*#','*#') from dual;

       LTRIM

                    LTRIM函数从字符值的开头删除一些字符,从而生成一个更简短的字符串。
                    语法:RTRIM(string[,trimstring]),被修整的string是必须的,可以删除多个字符。默认删除空格。
                    select ltrim('  abcd') from dual;
                    select ltrim('***abcd','*') from dual;                    select ltrim('*#abcd','*#') from dual;

      INSTR

                   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

                   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函数有三个参数,前两个是强制的。语法: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中字符操作函数有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI