oracle字符函数

字符函数

说明:字符函数输入值为字符类型,返回值为字符类型或数字类型,可以在sql语句中直接使用,也可以在pl/sql块中使用。

2.1ASCII(n)函数

  描述: 返回字符串的ascii(当输入为字符串时返回第一个字符的ascii)

Examplesselect ascii(‘A’) “test”,ascii(‘我们’) “test1” from dual;

2.2CHR(n)函数

  描述: 返回对应的ascii码的字符(n必须为数字类型)

Examplesselect ascii(54992) “test” from dual;

2.3CONCAT(n,m)函数

  描述: 连接nmnm可以是字符,也可以是字符串。作用和”||”一样。

Examplesselect concat(‘中国’,’人民’) “test” from dual;

2.4INITCAP(n)函数

  描述: 将字符串n中每个单词首字母大写,其余小写(区分单词的规则是按空格或非字母字符;可以输入中文字符,但没有任何作用)

Examplesselect initcap(‘ ’) “test”,initcap(‘my word’) “test1”,initcap(‘my中国word’) “test2” from dual;

2.5INSTR(chr1,chr2,[n,[m]])函数

  描述: 获取字符串chr2在字符串chr1中出现的位置。nm可选,省略是默认为1n代表开始查找的起始位置,当n为负数从尾部开始搜索m代表字串出现的次数。

Examplesselect instr('pplkoopijk','k',-1,1) “test” from dual;

  备注:当n为负数从尾部搜索,但返回值仍然是按正向排列得出的位置。

2.6LENGTH(n)函数

  描述: 返回字符或字符串长度。(nnull时,返回nll;返回的长度括后面的空格)

Examplesselect length('ppl  ') “test”,length(null) “test1” from dual;

2.7LOWER(n)函数

  描述: n转换为小写。

Examplesselect lower('KKKD') “test” from dual;

2.8LPAD(chr1,n,[chr2])函数

  描述: chr1左边填充字符chr2,使得字符总长度为nchr2可选,默认为空格;当chr1字符串长度大于n时,则从左边截取chr1n个字符显示。

Examplesselect lpad('kkk',5) “test”,lpad(‘kkkkk’,4) “test1”,lpad(‘kkk’,6,’lll’) “test2” from dual;

2.9LTRIM(chr,[n])函数

  描述: 去掉字符串chr左边包含的n字符串中的任何字符,直到出现一个不包含在n中的字符为止。

Examplesselect ltrim('abcde',’a’) “test”,ltrim(‘abcde’,’b’) “test1”,ltrim(‘abcdefg’,’cba’) “test2” from dual;

2.10NLS_INITCAP(chr,[’nls_param’])函数

   描述: chr首字母大写。Nls_param可选,指定排序的方式。(有SCHINESE_RADICAL_M(部首、笔画),SCHINESE_STROKE_M(笔画、部首),SCHINESE_PINYIN_M(拼音))

Examplesselect nls_initcap('ab cde') “test”,nls_initcap(‘a b c d e’,’nls_sort= SCHINESE_PINYIN_M’) “test1” from dual;

2.11NLS_LOWER(chr,[‘nls_param’])函数

   描述: 将字符串转换为小写。Nls_param可选,指定排序的方式。(有SCHINESE_RADICAL_M(部首、笔画),SCHINESE_STROKE_M(笔画、部首),SCHINESE_PINYIN_M(拼音))

Examplesselect nls_lower('ABC') “test”,nls_lower(‘ABC’,’nls_sort= SCHINESE_PINYIN_M’) “test1” from dual;

2.12NLSSORT(col,[’nls_param’])函数

   描述: 根据nls_param指定的方式对col字段进行排序。

ExamplesSELECT part_number FROM cux_om_part_all  ORDER BY nlssort(part_number,'nls_sort=SCHINESE_RADICAL_M')

2.13NLS_UPPER(chr,[‘nls_param’])函数

   描述: chr转换为大写。Nls_param可选,用于指定排序规则

ExamplesSELECT nls_upper('ddddd','nls_sort=xdanish') FROM dual

2.14REGEXP_REPLACE(source_string,pattern,replace_string,position,occurtence,match_parameter)函数(10g新函数)

   描述:字符串替换函数。相当于增强的replace函数。Source_string指定源字符表达式;pattern指定规则表达式;replace_string指定用于替换的字符串;position指定起始搜索位置;occurtence指定替换出现的第n个字符串;match_parameter指定默认匹配操作的文本串。

其中replace_string,position,occurtence,match_parameter参数都是可选的。

2.15REGEXP_SUBSTR(source_string, pattern[,position [, occurrence[, match_parameter]]])函数(10g新函数)

    描述:返回匹配模式的子字符串。相当于增强的substr函数。Source_string指定源字符表达式;pattern指定规则表达式;position指定起始搜索位置;occurtence指定替换出现的第n个字符串;match_parameter指定默认匹配操作的文本串。

其中position,occurtence,match_parameter参数都是可选的

Examples:select  regexp_substr(‘http://www.oracle.com/products’,’http://([[:alnum:]]+/.?) {3,4} / ?’) “regexp_substr” from dual

2.16REGEXP_LIKE(source_string, pattern
[, match_parameter])函数(10g新函数)

    描述:返回满足匹配模式的字符串。相当于增强的like函数。Source_string指定源字符表达式;pattern指定规则表达式;match_parameter指定默认匹配操作的文本串。

其中position,occurtence,match_parameter参数都是可选的

Examples:

2.17REGEXP_INSTR(source_string, pattern
[, start_position
[, occurrence
[, return_option
[, match_parameter]]]])函数(10g新函数)

描述: 该函数查找 pattern ,并返回该模式的第一个位置。您可以随意指定您想要开始搜索的 start_position occurrence 参数默认为 1,除非您指定您要查找接下来出现的一个模式。return_option 的默认值为 0,它返回该模式的起始位置;值为 1 则返回符合匹配条件的下一个字符的起始位置

Examples:

 

附注:上面红色标题的四个函数是oracle 10g才有的函数,使用正则表达式可以实现很强大的功能。鉴于变化太多,可以参考oracle的官方文档:SQL Reference(第七章)

2.18REPLACE(chr,search_string,[,replacement_string])函数

   描述:chr中满足search_string条件的替换为replacement_string指定的字符串,当search_stringnull时,返回chr;当replacement_stringnull时,返回chr中截取掉search_string部分的字符串。

  Examples: SELECT REPLACE('abcdeef','e','oo') "test",REPLACE('abcdeef','ee','oo') "test1",REPLACE('abcdeef',NULL,'oo') "test2",REPLACE('abcdeef','ee',NULL) "test3" FROM dual

2.19RPAD(chr1,n,chr2)函数

描述:在chr1右边填充chr2,使返回字符串长度为n..chr1长度大于n时,返回左端n个字符。参考LPAD()函数。

2.20RTRIM(chr,[set])函数

     描述:去掉chr右边包含的set中的任何字符,直到出现一个不是set中的字符结束。参考LTRIM()函数。

2.21SOUNDEX(chr)函数

描述:返回字符串的语音表示,可以用来比较字符串的发音是否相同。

Examples:select soundex(‘ship’) “test”,soundex(‘sleep’) “test1” from dual;

2.22SUBSTR(chr,m[,n])函数

描述:取chr的子串。M代表开始位置,n是要取的长度。当m0时从首字符开始,当m为负时从字符串尾部开始截取。

Examples:select substr(‘abcdef’,0,3) “test”,substr(‘abcdef’,1,3) “test1”,substr(‘abcdef’,-3,3) “test2”,substr(‘abcdef’,-1,3) “test3” from dual

注意:m01时,开始位置是一样的,都是从第一位开始,m为负的时候,仍然是按从左到右的顺序取,所以如果m-1n的长度再大,也只能取到最后一个字符,因为chr右边已经没有字符了。

2.23TRANSLATE(chr,from_str,to_str)函数

   描述:另一种替换函数的用法。

   Examples: SELECT translate('abcdeabc','abc','fgh') "test",translate('abcdeabc','abc','hf') "test1",translate('abcdeabc','ab','hfgh') "test2",translate('abcdeabc','abc',' ') "test3" FROM dual

注意:匹配的规则是from_strto_str每个字符按顺序相对应,如果from_str字符少于to_str中的字符,则只替换能对应的字符,to_str后面不能和from_str对应的字符则不管,如果from_str字符多于to_str字符,则from_str中找不到对应字符按照null来处理。

2.24TRIM(chr)函数

   TRIM函数将字符串的前缀(或尾随)字符删除。

       其具体的语法格式如下:

       TRIM[LEADING|TRAILING|BOTH][trimchar FROM] string

       其中:

       LEADING      指明仅仅将字符串的前缀字符删除

       TRAILING     指明仅仅将字符串的尾随字符删除

       BOTH            指明既删除前缀字符,也删除尾随字符。这也是默认方式

       string      任意一待处理字符串

       trimchar  可选项。指明试图删除什么字符,默认被删除的字符是空格

       下面是该函数的使用情况:

       TRIM’   Ashley   ’=‘Ashley’

       TRIMLEADING ’*’ FROM’***Ashley***’=‘Ashley***’

2.25UPPER(chr)函数

    UPPER函数间返回字符串的大写形式。

       其具体的语法格式如下:

       UPPERstring

       其中:

       string      任意VARCHAR2CHAR型字符串

       下面是该函数的使用情况:

       UPPER’THIS IS a Test’=‘THIS IS A TEST’

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值