oracle字符串函数收藏

原创 2008年09月29日 14:03:00
 

单行字符串函数

  单行字符串函数用于操作字符串数据,他们大多数有一个或多个参数,其中绝大多数返回字符串

  ascii(c1)
  c1是一字符串,返回c1第一个字母的ascii码,他的逆函数是chr()
select ascii(''a'') big_a,ascii(''z'') big_z from emp  

big_a  big_z 

65      122

  chr(<i>)[nchar_cs]
  i是一个数字,函数返回十进制表示的字符
select chr(65),chr(122),chr(223) from emp    

chr65  chr122    chr223 

a          z               b

  concat(  c1, c2 )
  c1,c2均为字符串,函数将c2连接到c1的后面,如果c1为null,将返回c2.如果c2为null,则返回c1,如果c1、c2都为null,则返回null。他和操作符||返回的结果相同
select concat(''slobo '',''svoboda'') username from dualusernames 

lobosyoboda

  initcap(c1)
  c1为一字符串。函数将每个单词的第一个字母大写其它字母小写返回。单词由空格,控制字符,标点符号限制。
select initcap(''veni,vedi,vici'') ceasar from dualceasarveni,vedi,vici

  instr(c1,[c2,<i>[,<j>]])
  c1,c2均为字符串,i,j为整数。函数返回c2在c1中第j次出现的位置,搜索从c1的第i个字符开始。当没有发现需要的字符时返回0,如果i为负数,那么搜索将从右到左进行,但是位置的计算还是从左到右,i和j的缺省值为1.
select instr(''mississippi'',''i'',3,3) from dualinstr

(''mississippi'',''i'',3,3)

11

select instr(''mississippi'',''i'',-2,3) from dualinstr

(''mississippi'',''i'',3,3)

2

  instrb(,[,i[,j])
  与instr()函数一样,只是他返回的是字节,对于单字节instrb()等于instr()

  length(c1)
  c1为字符串,返回c1的长度,如果c1为null,那么将返回null值。
select length(''ipso facto'') ergo from dualergo

10

  lengthb()
  与length()一样,返回字节。

  lower(c)
  返回c的小写字符,经常出现在where子串中
select lower(colorname) from itemdetail where lower(colorname) like ''%white%''

colorname

winterwhite

  lpad(c1,<i>[,c2])
  c1,c2均为字符串,i为整数。在c1的左侧用c2字符串补足致长度i,可多次重复,如果i小于c1的长度,那么只返回i那么长的c1字符,其他的将被截去。c2的缺省值为单空格,参见rpad。
select lpad(answer,7,'''') padded,answer unpadded from question;

padded unpadded yes yesno nomaybe maybe

  ltrim(c1,c2)
  把c1中最左边的字符去掉,使其第一个字符不在c2中,如果没有c2,那么c1就不会改变。
select ltrim(''mississippi'',''mis'') from dualltrppi

  rpad(,<i>[,])
  在c1的右侧用c2字符串补足致长度i,可多次重复,如果i小于c1的长度,那么只返回i那么长的c1字符,其他的将被截去。c2的缺省值为单空格,其他与lpad相似

  rtrim(,)
  把c1中最右边的字符去掉,使其第后一个字符不在c2中,如果没有c2,那么c1就不会改变。

  replace(c1,[c2,c3])
  c1,c2,c3都是字符串,函数用c3代替出现在c1中的c2后返回。
select replace(''uptown'',''up'',''down'') from dual

replace

downtown

  stbstr(c1,<i>[,j])
  c1为一字符串,i,j为整数,从c1的第i位开始返回长度为j的子字符串,如果j为空,则直到串的尾部。
select substr(''message'',1,4) from dual

substr

mess

  substrb(,<i>[,])
  与substr大致相同,只是i,j是以字节计算。

  soundex()
  返回与c1发音相似的词
select soundex(''dawes'') dawes, soundex(''daws'') daws, soundex(''dawson'') from dual

 

dawes daws dawsond200 d200 d250

  translate(c1,c2,c3)
  将c1中与c2相同的字符以c3代替
select translate(''fumble'',''fu'',''ra'') test from dual

text

ramble

  trim([[]] from c3)
  将c3串中的第一个,最后一个,或者都删除。
select trim('' space padded '') trim from dual trimspace padded

  upper()
  返回c1的大写,常出现where子串中select name from dual where upper(name) like ''ki%''nameking

oracle 拼接字符串的函数写法

需求:首先根据角色ID (JSID)  查到角色组ID (JSZID),根据角色组ID (JSZID)  找到对应权限的文档ID (DOCID)  根据文档ID  (DOCID)  找到附件的ID ...
  • u010158775
  • u010158775
  • 2015年01月29日 15:19
  • 2733

ORACLE常用数值函数、转换函数、字符串函数介绍

ORACLE常用数值函数、转换函数、字符串函数介绍。 数值函数: abs(m) m的绝对值 mod(m,n) m被n除后的余数 power(m,n) m的n次方 round(m[,n]) m四舍五入至...
  • vinsonshen
  • vinsonshen
  • 2007年04月24日 00:49
  • 1372

Oracle中REGEXP_SUBSTR函数(拆分字符串)

在oracle中,使用一条语句实现将’17,20,23’拆分成’17’,’20’,’23’的集合。REGEXP_SUBSTR函数格式如下: function REGEXP_SUBSTR(String...
  • u013569416
  • u013569416
  • 2016年03月21日 20:46
  • 2205

Oracle与字符相关的函数举例

--字符相关函数 --转小写 SELECT lower(ename) FROM emp; --转大写 SELECT upper('abCDfg') from dual; --首字符转大写,其它转小写 ...
  • xm393392625
  • xm393392625
  • 2018年01月20日 09:33
  • 126

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

一、单行函数 所谓单行函数就是:针对表或试图查询行,返回一个单一的结果行,该函数可以运用在where、start  with、connect by、having条件中。 (1)、数值函数 1、ABS(...
  • ceclar123
  • ceclar123
  • 2013年09月29日 17:05
  • 1615

1、Oracle PL/SQL中的字符串及函数介绍

该文章是 PL/SQL基础(3):小专题 系列文章之一。 Oracle中常用的字符串类型有:固定长度(CHAR等)、可变长度(VARCHAR2等)和大对象(CLOB)三类。CHAR为固定的长度字符...
  • dou3516
  • dou3516
  • 2016年09月07日 12:14
  • 2555

Oracle按字符截取字符串函数

 输入参数:str ——要截取的字符串,  ch——要查找的字符串截取ch之前(不包括ch)的字符串: substr(str, 0, instr(str, ch) - 1)截取ch之后(不包括ch)的...
  • xxd851116
  • xxd851116
  • 2010年04月19日 10:25
  • 2135

oracle中常用的字符串查找、替换以及截取函数的用法!

1:当根据业务需要时,使用group by分组得到的记录,但可能还需要加上条件来对分组得到的数据进行过滤取数.可采用having的关键字来完成,具体参见以下SQL实例.SELECT INSID,COU...
  • apicescn
  • apicescn
  • 2006年05月12日 10:37
  • 3450

Oracle 生成随机数,随机字符串

1. 随机数包SELECT DBMS_RANDOM.VALUE  FROM DUAL;2. 在[0..100]范围内取随机数SELECT TRUNC (DBMS_RANDOM.VALUE (0, 10...
  • id19870510
  • id19870510
  • 2010年09月17日 16:04
  • 8663

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

1、概述 本文介绍String类型及相关的函数,基于当前最新的Oracle 12c 为基础作介绍。 下文将字符串简称为串。 Oracle函数的工作方式有两种: 1、根...
  • anxpp
  • anxpp
  • 2016年06月22日 08:15
  • 10729
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: oracle字符串函数收藏
举报原因:
原因补充:

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