oracle的字符函数

来源:互联网 发布:钱咖返利数据为空 编辑:程序博客网 时间:2024/06/13 22:20
Oracle字符函数
说明:字符函数输入值为字符类型,返回值为字符类型或数字类型,可以在sql
语句中直接使用,也可以在pl/sql 块中使用。
1、ASCII(n)函数
描述: 返回字符串的ascii 码(当输入为字符串时返回第一个字符的ascii 码)
Examples:select ascii(‘A’) “test”,ascii(‘我们’) “test1” from dual;
2、CHR(n)函数
描述: 返回对应的ascii 码的字符(n 必须为数字类型)
Examples:select ascii(54992) “test” from dual;
3、CONCAT(n,m)函数
描述: 连接n 和m,n 和m 可以是字符,也可以是字符串。作用和”||”一样。
Examples:select concat(‘中国’,’人民’) “test” from dual;
4、INITCAP(n)函数
描述: 将字符串n 中每个单词首字母大写,其余小写(区分单词的规则是按空格或非字
母字符;可以输入中文字符,但没有任何作用)
Examples:select initcap(‘中国人民’) “test”,initcap(‘my word’)
“test1”,initcap(‘my 中国word’) “test2” from dual;
5、INSTR(chr1,chr2,[n,[m]])函数
描述: 获取字符串chr2 在字符串chr1 中出现的位置。n 和m 可选,省略是默认为1;
n 代表开始查找的起始位置,当n 为负数从尾部开始搜索;m 代表字串出现的
次数。
Examples:select instr('pplkoopijk','k',-1,1) “test” from dual;
备注:当n 为负数从尾部搜索,但返回值仍然是按正向排列得出的位置。
6、LENGTH(n)函数
描述: 返回字符或字符串长度。(当n 为null 时,返回nll;返回的长度包括后面的空
格)
Examples:select length('ppl ') “test”,length(null) “test1” from
dual;
7、LOWER(n)函数
描述: 将n 转换为小写。
Examples:select lower('KKKD') “test” from dual;
8、LPAD(chr1,n,[chr2])函数
描述: 在chr1 左边填充字符chr2,使得字符总长度为n。chr2 可选,默认为空格;
当chr1 字符串长度大于n 时,则从左边截取chr1 的n 个字符显示。
Examples:select lpad('kkk',5) “test”,lpad(‘kkkkk’,4)
“test1”,lpad(‘kkk’,6,’lll’) “test2” from dual;
9、LTRIM(chr,[n])函数
描述: 去掉字符串chr 左边包含的n 字符串中的任何字符,直到出现一个不包含在n
中的字符为止。
Examples:select ltrim('abcde',’a’) “test”,ltrim(‘abcde’,’b’)
“test1”,ltrim(‘abcdefg’,’cba’) “test2” from dual;
10、NLS_INITCAP(chr,[’nls_param’])函数
描述: 将chr 首字母大写。Nls_param 可选,指定排序的方式。(有
SCHINESE_RADICAL_M(部首、笔画),SCHINESE_STROKE_M(笔画、
部首),SCHINESE_PINYIN_M(拼音))
Examples:select nls_initcap('ab cde') “test”,nls_initcap(‘a b c d
e’,’nls_sort= SCHINESE_PINYIN_M’) “test1” from dual;
11、NLS_LOWER(chr,[‘nls_param’])函数
描述: 将字符串转换为小写。Nls_param 可选,指定排序的方式。(有
SCHINESE_RADICAL_M(部首、笔画),SCHINESE_STROKE_M(笔画、
部首),SCHINESE_PINYIN_M(拼音))
Examples:select nls_lower('ABC')
“test”,nls_lower(‘ABC’,’nls_sort= SCHINESE_PINYIN_M’) “test1”
from dual;
12、NLSSORT(col,[’nls_param’])函数
描述: 根据nls_param 指定的方式对col 字段进行排序。
Examples:SELECT part_number FROM cux_om_part_all ORDER
BY nlssort(part_number,'nls_sort=SCHINESE_RADICAL_M')
13、NLS_UPPER(chr,[‘nls_param’])函数
描述: 将chr 转换为大写。Nls_param 可选,用于指定排序规则
Examples:SELECT nls_upper('ddddd','nls_sort=xdanish') FROM
dual
14、
REGEXP_REPLACE(source_string,pattern,
replace_string,position,occurtence,matc
h_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:select regexp_substr(‘http://www.oracle.com/product
s’,’http://([[:alnum:]]+\.?) {3,4} / ?’) “regexp_substr” from dual
16、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,[,replaceme
nt_string])函数
描述:将chr 中满足search_string 条件的替换为replacement_string 指
定的字符串,当search_string 为null 时,返回chr;当replacement_string
为null 时,返回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
19、RPAD(chr1,n,chr2)函数
描述:在chr1 右边填充chr2,使返回字符串长度为n..当chr1 长度大于n
时,返回左端n 个字符。参考LPAD()函数。
20、RTRIM(chr,[set])函数
描述:去掉chr 右边包含的set 中的任何字符,直到出现一个不是set 中的
字符结束。参考LTRIM()函数。
21、SOUNDEX(chr)函数
描述:返回字符串的语音表示,可以用来比较字符串的发音是否相同。
Examples:select soundex(‘ship’) “test”,soundex(‘sleep’) “test1”
from dual;
22、SUBSTR(chr,m[,n])函数
描述:取chr 的子串。M 代表开始位置,n 是要取的长度。当m 为0 时从
首字符开始,当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
注意:m 取0 或1 时,开始位置是一样的,都是从第一位开始,m 为负的
时候,仍然是按从左到右的顺序取,所以如果m 为-1,n 的长度再大,也只能
取到最后一个字符,因为chr 右边已经没有字符了。
23、TRANSLATE(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_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][trimchar FROM] string)
其中:
LEADING 指明仅仅将字符串的前缀字符删除
TRAILING 指明仅仅将字符串的尾随字符删除
BOTH 指明既删除前缀字符,也删除尾随字符。这也是默认方式
string 任意一待处理字符串
trimchar 可选项。指明试图删除什么字符,默认被删除的字符是空格
下面是该函数的使用情况:
TRIM(’ Ashley ’)=‘Ashley’
TRIM(LEADING ’*’ FROM’***Ashley***’)=‘Ashley***’
25、UPPER(chr)函数
UPPER 函数间返回字符串的大写形式。
其具体的语法格式如下:
UPPER(string)
其中:
string 任意VARCHAR2 或CHAR 型字符串
下面是该函数的使用情况:
UPPER(’THIS IS a Test’)=‘THIS IS A TEST’
0 0