您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Oracle字符函数
Oracle字符函数说明:字符函数输入值为字符类型,返回值为字符类型或数字类型,可以在sql语句中直接使用,也可以在pl/sql块中使用。1、ASCII(n)函数描述:返回字符串的ascii码(当输入为字符串时返回第一个字符的ascii码)Examples:selectascii(‘A’)“test”,ascii(‘我们’)“test1”fromdual;2、CHR(n)函数描述:返回对应的ascii码的字符(n必须为数字类型)Examples:selectascii(54992)“test”fromdual;3、CONCAT(n,m)函数描述:连接n和m,n和m可以是字符,也可以是字符串。作用和”||”一样。Examples:selectconcat(‘中国’,’人民’)“test”fromdual;4、INITCAP(n)函数描述:将字符串n中每个单词首字母大写,其余小写(区分单词的规则是按空格或非字母字符;可以输入中文字符,但没有任何作用)Examples:selectinitcap(‘中国人民’)“test”,initcap(‘myword’)“test1”,initcap(‘my中国word’)“test2”fromdual;5、INSTR(chr1,chr2,[n,[m]])函数描述:获取字符串chr2在字符串chr1中出现的位置。n和m可选,省略是默认为1;n代表开始查找的起始位置,当n为负数从尾部开始搜索;m代表字串出现的次数。Examples:selectinstr('pplkoopijk','k',-1,1)“test”fromdual;备注:当n为负数从尾部搜索,但返回值仍然是按正向排列得出的位置。6、LENGTH(n)函数描述:返回字符或字符串长度。(当n为null时,返回nll;返回的长度包括后面的空格)Examples:selectlength('ppl')“test”,length(null)“test1”fromdual;7、LOWER(n)函数描述:将n转换为小写。Examples:selectlower('KKKD')“test”fromdual;8、LPAD(chr1,n,[chr2])函数描述:在chr1左边填充字符chr2,使得字符总长度为n。chr2可选,默认为空格;当chr1字符串长度大于n时,则从左边截取chr1的n个字符显示。Examples:selectlpad('kkk',5)“test”,lpad(‘kkkkk’,4)“test1”,lpad(‘kkk’,6,’lll’)“test2”fromdual;9、LTRIM(chr,[n])函数描述:去掉字符串chr左边包含的n字符串中的任何字符,直到出现一个不包含在n中的字符为止。Examples:selectltrim('abcde',’a’)“test”,ltrim(‘abcde’,’b’)“test1”,ltrim(‘abcdefg’,’cba’)“test2”fromdual;10、NLS_INITCAP(chr,[’nls_param’])函数描述:将chr首字母大写。Nls_param可选,指定排序的方式。(有SCHINESE_RADICAL_M(部首、笔画),SCHINESE_STROKE_M(笔画、部首),SCHINESE_PINYIN_M(拼音))Examples:selectnls_initcap('abcde')“test”,nls_initcap(‘abcde’,’nls_sort=SCHINESE_PINYIN_M’)“test1”fromdual;11、NLS_LOWER(chr,[‘nls_param’])函数描述:将字符串转换为小写。Nls_param可选,指定排序的方式。(有SCHINESE_RADICAL_M(部首、笔画),SCHINESE_STROKE_M(笔画、部首),SCHINESE_PINYIN_M(拼音))Examples:selectnls_lower('ABC')“test”,nls_lower(‘ABC’,’nls_sort=SCHINESE_PINYIN_M’)“test1”fromdual;12、NLSSORT(col,[’nls_param’])函数描述:根据nls_param指定的方式对col字段进行排序。Examples:SELECTpart_numberFROMcux_om_part_allORDERBYnlssort(part_number,'nls_sort=SCHINESE_RADICAL_M')13、NLS_UPPER(chr,[‘nls_param’])函数描述:将chr转换为大写。Nls_param可选,用于指定排序规则Examples:SELECTnls_upper('ddddd','nls_sort=xdanish')FROMdual14、REGEXP_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参数都是可选的。15、REGEXP_SUBSTR(source_string,pattern[,position[,occurrence[,match_parameter]]])函数(10g新函数)描述:返回匹配模式的子字符串。相当于增强的substr函数。Source_string指定源字符表达式;pattern指定规则表达式;position指定起始搜索位置;occurtence指定替换出现的第n个字符串;match_parameter指定默认匹配操作的文本串。其中position,occurtence,match_parameter参数都是可选的Examples:selectregexp_substr(‘http://www.oracle.com/products’,’http://([[:alnum:]]+\.?){3,4}/?’)“regexp_substr”fromdual16、REGEXP_LIKE(source_string,pattern[,match_parameter])函数(10g新函数)描述:返回满足匹配模式的字符串。相当于增强的like函数。Source_string指定源字符表达式;pattern指定规则表达式;match_parameter指定默认匹配操作的文本串。其中position,occurtence,match_parameter参数都是可选的Examples:17、REGEXP_INSTR(source_string,pattern[,start_position[,occurrence[,return_option[,match_parameter]]]])函数(10g新函数)描述:该函数查找pattern,并返回该模式的第一个位置。您可以随意指定您想要开始搜索的start_position。occurrence参数默认为1,除非您指定您要查找接下来出现的一个模式。return_option的默认值为0,它返回该模式的起始位置;值为1则返回符合匹配条件的下一个字符的起始位置Examples:18、REPLACE(chr,search_string,[,replacement_string])函数描述:将chr中满足search_string条件的替换为replacement_string指定的字符串,当search_string为null时,返回chr;当replacement_string为null时,返回chr中截取掉search_string部分的字符串。Examples:SELECTREPLACE('abcdeef','e','oo')test,REPLACE('abcdeef','ee','oo')test1,REPLACE('abcdeef',NULL,'oo')test2,REPLACE('abcdeef','ee',NULL)test3FROMdual19、RPAD(chr1,n,chr2)函数描述:在chr1右边填充chr2,使返回字符串长度为n..当chr1长度大于n时,返回左端n个字符。参考LPAD()函数。20、RTRIM(chr,[set])函数描述:去掉chr右边包含的set中的任何字符,直到出现一个不是set中的字符结束。参考LTRIM()函数。21、SOUNDEX(chr)函数描述:返回字符串的语音表示,可以用来比较字符串的发音是否相同。Examples:selectsoundex(‘ship’)“test”,soundex(‘sleep’)“test1”fromdual;22、SUBSTR(chr,m[,n])函数描述:取chr的子串。M代表开始位置,n是要取的长度。当m为0时从首字符开始,当m为负时从字符串尾部开始截取。Examples:selectsubstr(‘abcdef’,0,3)“test”,substr(‘abcdef’,1,3)“test1”,substr(‘abcdef’,-3,3)“test2”,substr(‘abcdef’,-1,3)“test3”fromdual注意:m取0或1时,开始位置是一样的,都是从第一位开始,m为负的时候,仍然是按从左到右的顺序取,所以如果m为-1,n的长度再大,也只能取到最后一个字符,因为chr右边已经没有字符了。23、TRANSLATE(chr,from_str,to_str)函数描述:另一种替换函数的用法。Examples:SELECTtranslate('abcdeabc','abc','fgh')test,translate('abcdeabc','abc','hf')test1,translate('abcdeabc','ab','hfgh')test2,translate('abcdeabc','abc','')test3FROMdual注意:匹配的规则是from_str和to_str每个字符按顺序相对应,如果from_str字符少于to_str中的字符,则只替换能对应的字符,to_str后面不能和from_str对应的字符则不管,如果from_str字符多于to_str字符,则from_str中找不到对应字符按照null来处理。24、TRIM(chr)函数TRIM函数将字符串的前缀(或尾随)字符删除。其具体的语法格式如下:TRIM([LEADING|TRAILING|BOTH][trimcharFROM]string)其中:LEADING指明仅仅将字符串的前缀字符删除TRAILING指明仅仅将字符串的尾随字符删除BOTH指明既删除前缀字符,也删除尾随字符。这也是默认方式string任意一待处理字符串trimchar可选项。指明试图删除什么字符,默认被删除的字符是空格下面是该函数的使用情况:TRIM(’Ashley’)=‘Ashley’TRIM(LEADING’*’FROM’***Ashley***’)=‘Ashley***’25、UPPER(chr)函数UPPER函数间返回字符串的大写形式。其具体的语法格式如下:UPPER(string)其中:string任意VARCHAR2或CHAR型字符串下面是该函数的使用情况:UPPER(’THISISaTest’)=‘THISISATEST’
本文标题:Oracle字符函数
链接地址:https://www.777doc.com/doc-11659 .html