Oracle内置函数之字符函数

原创 2007年10月11日 15:22:00
说明:字符函数输入值为字符类型,返回值为字符类型或数字类型,可以在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
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参数都是可选的。
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
16REGEXP_LIKE(source_string, pattern[, match_parameter])函数(10g新函数)
    描述:返回满足匹配模式的字符串。相当于增强的like函数。Source_string指定源字符表达式;pattern指定规则表达式;match_parameter指定默认匹配操作的文本串。
其中position,occurtence,match_parameter参数都是可选的
Examples:
17REGEXP_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: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’
 

Oracle SQL常用内置函数总结

Oracle SQL常用内置函数总结:数字计算函数、字符处理函数、日期时间函数、转换函数、聚合分析函数...
  • yihuiworld
  • yihuiworld
  • 2015年03月28日 15:17
  • 10267

Oracle中的字符串类型及相关函数详解

1、概述 本文介绍String类型及相关的函数,基于当前最新的Oracle 12c 为基础作介绍。 下文将字符串简称为串。 Oracle函数的工作方式有两种: 1、根...
  • anxpp
  • anxpp
  • 2016年06月22日 08:15
  • 10478

oracle存储过程及常用函数学习笔记

注: 本篇笔记大部分示例来自网上资料及其他博客。 目前很多互联网项目,都把复杂的业务操作写到了存储过程里,加快执行速度,提高效率。所以学习存储过程也是必要的。简单入门例子示例1/*不带任何参数存储过...
  • u010342147
  • u010342147
  • 2017年03月23日 10:54
  • 214

FORM内置系统函数

abort_query;                                                    停止查询的执行 add_group_column(record gro...
  • caixingyun
  • caixingyun
  • 2013年12月06日 20:15
  • 1960

Oracle之查询+内置函数

1.修改+删除语法: update: update 表名 set 字段名1=新值1,字段名2=新值2,... [where 条件]; delete: delete [from] 表名 [where ...
  • wf787283810
  • wf787283810
  • 2017年07月19日 17:24
  • 189

源码-Oracle数据库管理-第十一章-Oracle内置函数-Part 5(通用函数)

这一节虽然题为“通用函数”,但其实并不“通用”,是有一定难度的。 暂且mark以下,后续如果需要,还需要杀个回马枪的 --11.6 通用函数 --11.6.1 通用函数列表 --使用USER和UI...
  • hpdlzu80100
  • hpdlzu80100
  • 2016年10月24日 23:11
  • 314

Oracle常用内置函数介绍及用法(二)

-- REGEXP_LIKE 正则表达式 /* ORACLE中的支持正则表达式的函数主要有下面四个: 1,REGEXP_LIKE :与LIKE的功能相似 2,REGEXP_INSTR :与IN...
  • u011453631
  • u011453631
  • 2013年07月29日 13:11
  • 2212

Lua内置函数大全

•assert(value) - 检查一个值是否为非nil, 若不是则(如果在wow.exe打开调试命令)显示对话框以及输出错误调试信息  •collectgarbage() - 垃圾收集器. (新...
  • jiangtao_killer
  • jiangtao_killer
  • 2017年06月01日 16:17
  • 429

oracle数据库内置函数之数值函数、字符函数、日期函数、转换函数及其在查询语句中的运用

数值函数: 1、四舍五入函数round() from dual:一行一列组成 select round(23.4) from dual;--默认不写m表示m为0 select round(23....
  • u012110719
  • u012110719
  • 2015年08月21日 15:30
  • 791

Oracle 11G函数整理(字符函数)

一、单行函数 所谓单行函数就是:针对表或试图查询行,返回一个单一的结果行,该函数可以运用在where、start  with、connect by、having条件中。 (1)、数值函数 1、ABS(...
  • ceclar123
  • ceclar123
  • 2013年09月29日 17:05
  • 1593
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle内置函数之字符函数
举报原因:
原因补充:

(最多只允许输入30个字)