Oracle字符函数

1.        字符函数

1.1.    INITCAP

语法如下:

      INITCAP(string)

功能描述:

       首字母大写。

例子:

       select initcap('abc')from dual;输出:Abc

1.2.    LOWER

语法如下:

      LOWER(string)

功能描述:

      转化为小写。

例子:

     select lower('ABC')from dual;输出:abc

1.3.    UPPER

语法如下:

      UPPER(string)

功能描述:

      转换为大写。

例子:

      select upper('abc')from dual;输出:ABC

1.4.    TRIM

语法如下:

      TRIM( [ { { LEADING | TRAILING | BOTH } [trim_character ] | trim_character } FROM] trim_source)

参数分析:

      LEADING:开头字符

      TRAILING:结尾字符

      BOTH:开头和结尾字符

      trim_character:去除的字符

      trim_source:修剪源

功能描述:

1.   删除字符串前后的空格

      如果trim函数不使用任何参数时,可以去除字符串前后的空格。

      select trim('  abc  ')from dual;输出abc

      这也是最常见的一种使用方法,都使用默认的参数,默认情况下TRIM会同时删除字符串前后出现的空格。

2.   BOTH参数的使用方法

      selecttrim(bothfrom'  abc  ')from dual;

      BOTH参数表示同时去除字符串前后所指定的内容(默认情况下删除空格)。

3.   LEADING TRAILING参数的使用方法

     selecttrim(leading'a'from'abcyjw')from dual;输出:bcyjw

     selecttrim(trailing'w'from'abcyjw')from dual;输出:abcyj

      LEADING参数完成字符串头部字符的删除功能;TRAILING参数完成字符串尾部字符的删除功能。

4.   trim_character参数的使用方法

     这个参数改变了“删除空格”的默认行为,该参数只允许包含一个字符,不支持多字符。

     selecttrim(both'a'from'abcyjwa')from dual;输出:bcyjw

      selecttrim(leading'a'from'abcyjw')from dual;输出:bcyjw

      selecttrim(trailing'w'from'abcyjw')from dual;输出:abcyj

1.5.   LTRIM

语法如下:

     LTRIM(str1,str2)

例子:

      select ltrim('abcyjw','abc')from dual;输出:yjw

      selectltrim('aabbcyjw','abc')from dual;输出:yjw

      select ltrim('abdcyjw','abc')from dual;输出:dcyjw

      selectltrim('bcyjw','abc')from dual;输出:yjw

1.6.    RTRIM

      参考LTRIM。

1.7.    TRANSLATE

语法如下:

      TRANSLATE( string , 'from_str' , 'to_str' )

功能描述:

      返回将(所有出现的)from_str中的每个字符替换为to_str中的相应字符以后的stringTRANSLATEREPLACE所提供的功能的一个超集。如果from_strto_str长,那么在from_str中而不在to_str中的额外字符将从string中被删除,因为它们没有相应的替换字符。to_str不能为空。Oracle将空字符串解释为NULL,并且如果TRANSLATE中的任何参数为NULL,那么结果也是NULL

例子:

      select translate('abcdef','abc','123')from dual;输出:123def

      select translate('abcdef','abc','12')from dual;输出:12def

      select translate('abcdef','aic','12')from dual;输出:1bdef

      因为from_strto_str的位置是一一对应的,a对应1b对应2i没有对应的值,所以i会被删除。a会替换为1i因为字符串里没有,所以不作替换;c由于没有对应的替换字符,所以字符串里的c会被删除。

1.8.    INSTR

      instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始到字符的结尾就结束。

语法如下:

      instr(string1, string2 [, start_position [, nth_appearance ] ] )

参数分析:

      string1表示:源字符串,要在此字符串中查找。

      string2表示:要在string1中查找的字符串。

      start_position表示:代表string1的哪个位置开始查找。此参数可选,如果省略默认为1,字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。

      nth_appearance表示:代表要查找第几次出现的string2此参数可选,如果省略,默认为 1,如果为负数系统会报错。

备注:

      如果String2String1中没有找到,instr函数返回0

示例:

      select instr('abcdabcdabcd','b')from dual;出:2

      select instr('abcdabcdabcd','b',3)from dual;输出:6

      select instr('abcdabcdabcd','b',2,2)from dual;输出:6

      select instr('abcdabcdabcd','b', -1,1)from dual;输出:10              

1.9.    SUBSTR、SUBSTRB

语法如下:

      substr( string, start_position, [ length ] )

      substrb( string, start_position, [ length ] )

      两个函数都是用于截取字符串

参数分析:

      string表示:要处理的字符串 

      start_position表示:截取字符串的开始位置(起始位置是1

      length表示:截取的字符串的长度

备注:

      两个函数的差别体现在处理中文上,主要是字节和字符的差别:

1.10.       CONCAT

语法如下:

      CONCAT(str1,str2)

功能描述:

      连接字符串

例子:

     select concat('abc','def')from dual;输出:abcdef

1.11.       RPAD

      rpad函数从右边对字符串使用指定的字符进行填充。

语法如下:

      rpad(string, padded_length,[pad_string])

参数分析:

      string表示:被填充的字符串。

      padded_length表示:字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,rpad函数将会把字符串截取成从左到右的n个字符;

      pad_string是个可选参数,这个字符串是要粘贴到string的右边,如果这个参数未写,rpad函数将会在string的右边粘贴空格。

备注:

     1. 该函数也可以用于截取字符串

     2. oraclechar类型长度是固定的,插入的数据不足长度,则会在字符串后面自动加上相应的空格,以补足长度。如果查询语句中存在该字段的查询条件,则需要使用rpad函数补足长度。

1.12.       LPAD

      lpad函数从左边对字符串使用指定的字符进行填充。

语法如下:

      lpad (string, padded_length,[pad_string])

参数分析:

      string表示:被填充的字符串。

      padded_length表示:字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;

      pad_string是个可选参数,这个字符串是要粘贴到string的左边,如果这个参数未写,lpad函数将会在string的左边粘贴空格。

备注:

     该函数也可以用于截取字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值