Oralce 处理字符串函数

原文: Oralce 处理字符串函数

日常咱们用Oracle主要有两种字符串类型
1.char始终为固定的长度,若是设置了长度小于char列的值,则Oracle会自动用空格填充的。当比较char时,Oracle用空格将其填充为等长,再进行比较。
2.VarChar2数据类型为可变长度,虽然与VarChar数据类型是同义的,但在从此的Oracle版本中也许会有变化,因此应该避免使用VarChar,优先使用VarChar2。
固定长度的字符串字段使用Char,而其余全部的字符串字段都应使用VarChar2.html

下面列出部分Oracle针对字符串操做的一些函数,如下函数可使用在字符串上,也可使用在列名上:
1.LOWER(string) 将输入的字符串转换成小写
2.UPPER(string) 将输入的字符串转换成大写
3.INITCAP(string) 将输入的字符串单词的首字母转换成大写。PS:若是不是两个字母连在一块儿,则认为是新的单词,例:a_b a,b  a b  相似前面这些状况,都a和b都会转换成大写
4.链接符(||),将两个字符串用||链接起来,除此以外还可使用Concat函数来链接字符串。例:select CONCAT(City,country) from Table
5.LPAD和RPAD,填充函数,这是两个十分类似的函数,使用方式彻底同样。容许在列的左[右]边填充一组字符。例:RPAD(city,20,'.'),若是ciy的值没有小于长度20的话,则用'.'在右边补齐,补到20个,若是是用空格补齐,看上去就是像左对齐同样。
6.LTRIM,RTRIM和TRIM,他们的做用是从字符串的左边,右边,左右两边删除不须要的字符,默认时删除空格。
格式:RTRIM、LTRIM(字符串,'删除字符集') 第一个参数就是要进行删除的字符,第二个参数是一个字符集来的,若是填写的是'AB',Oracle会认为是A和B,而后反复检查字符串的右端,直到字符串中的每一个字符都被删除了,也就是说,直到遇到被删除字符集中未出现的第一个字符时,才中止删除。这样讲可能有点不是很明白,看下面例子
原数据
1 AAA.
2 AAA."
3 AA.AAB
RTRIM(name,'.B"')
1 AAA
2 AAA
3 AA.AA
若是以为不够明白的话,本身试多几回就明白了!我也以为讲得好像不是很清楚同样!
TRIM格式有点不同,直接看例子吧 select trim('A' from 列名) from tableName 或者trim(leading 'A' from 列名)或者trim(trailing 'A' from 列名) 等价于LTRIM和RTRIM函数同样,其实TRIM函数就只是为了简化代码而以。
7.LENGTH 该函数很简单,就是告诉用户一个字符串有多长,即字符串中有多少个字符,该函数自己并非很好用,但能够作为其它函数的一部分,用于计算表格须要多少空格,或者作为orderby 子句的一部分。PS:您不能对一个使用LONG数据类型的列使用LENGTH之类的函数。
8.SUBSTR(string,start [,count]) 该函数告诉oracle提取出string一个子集,start开始位置,count提取长度,不指定count时,默认提取到该字符串的尾部。
  start同时也能够指定为负数,指定为正数的时候是从字符串的起始位置开始算(左边),指定负数时,是从末尾位置算(右边)。PS:负数不能使用于Char数据类型,由于Char是固定长度的,   因此将使用空格填充他们的值,直到扩展到列的全长。
9.INSTR 返回指定的字符串所在的位置
  INSTR(string,set[,start [,occurrence ] ] ) 若是指定start,oracle则跳过前面全部字符串到该位置开始搜索,occurence,是强迫instr跳过前几回与字符串匹配,给出下一次匹配的位置,若是occurence指定3,那就是匹配第三次的位置了。 例 instr('ABACAAA','A',2,2) 从ABACAAA中匹配A这个字符串,从2个位置开始匹配,匹配第2次A所在的位置。PS:若是set中不止有一个字符而是有几个字符组成的,则INSTR给出该字符集中的第一个字符的位置。
10.Chr和ascii函数在即席查询中不多使用。Chr把数值转换成等价的ascii字符串 例:select chr(70) from dual
        ascii函数执行的结果恰好是相反的,传递给他字符串,它将转换成对应的数值(只转换第一个字符串),若是须要同时转换多个字符串可使用DUMP函数 DUMP(string)正则表达式

PS:INSTR,REPLACE和SUBSTR的功能已经获得扩展,能够支持正则表达式。oracle

经过以上函数能够单独使用或者组合使用,这是一个简单的过程,即将简单的逻辑步骤组合起来完成很是复杂的任务。函数

相关文章
相关标签/搜索