Oracle字符串函数

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

下面列出部分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字符串函数的更多相关文章

  1. 问题:oracle字符串函数;结果:Oracle字符串函数

    Oracle字符串函数 最近换了新公司,又用回Oracle数据库了,很多东西都忘记了,只是有个印象,这两晚抽了点时间,把oracle对字符串的一些处理函数做了一下整理,供日后查看.. 平常我们用Ora ...

  2. [学习笔记] Oracle字符串函数、日期函数、数值函数、转换函数、聚合函数

    函数 单行函数:对一行数据进行操作的函数,如字符串函数.数值函数.转换函数.日期函数等. 聚合函数:同时对多行数据进行操作,如求和函数等. 字符串函数 函数 说明 ASCII(X) 求字符X的ASCI ...

  3. Oracle 字符串函数

    平常我们用Oracle主要有两种字符串类型1.char始终为固定的长度,如果设置了长度小于char列的值,则Oracle会自动用空格填充的.当比较char时,Oracle用空格将其填充为等长,再进行比 ...

  4. oracle字符串函数总结

    字符函数——返回字符值 这些函数全都接收的是字符族类型的参数(CHR 除外)并且返回字符值.除了特别说明的之外,这些函数大部分 返回VARCHAR2类型的数值.字符函数的返回类型所受的限制和基本数据库 ...

  5. ORACLE字符串分组聚合函数(字符串连接聚合函数)

    ORACLE字符串连接分组串聚函数 wmsys.wm_concat SQL代码: select grp, wmsys.wm_concat(str) grp, 'a1' str from dual un ...

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

    ORACLE常用数值函数.转换函数.字符串函数介绍. 数值函数: abs(m) m的绝对值 mod(m,n) m被n除后的余数 power(m,n) m的n次方 round(m[,n]) m四舍五入至 ...

  7. Oracle截取字符串函数和查找字符串函数,连接运算符||

    参考资料:Oracle截取字符串和查找字符串 oracle自定义函数学习和连接运算符(||) oracle 截取字符(substr),检索字符位置(instr) case when then else ...

  8. oracle之函数-数字,日期,转换,字符串,其他

    -----------------------------oracle数据库函数----------------------------------------数学函数***select abs(-1 ...

  9. oracle中的常用函数、字符串函数、数值类型函数、日期函数,聚合函数。

    一.字符串的常用函数. --一.oracle 字符串常用函数 --1. concat 连接字符串的函数,只能连接[两个]字符串. 字符写在括号中,并用逗号隔开! --2."||"符 ...

随机推荐

  1. # 2019-2020-3 《Java 程序设计》第五周学习总结

    2019-2020-3 <Java 程序设计>第五周知识总结 1.使用interface来定义一个接口.接口定义同类的定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两 ...

  2. c++WIN32获取syslistview行数

    #include "stdafx.h" #include <windows.h> #include <commctrl.h> #include <io ...

  3. JS 的execCommand 方法 做的一个简单富文本

    execCommand 当一个 HTML 文档切换到设计模式(designMode)时,文档对象暴露 execCommand 方法,该方法允许运行命令来操纵可编辑区域的内容.大多数命令影响文档的选择( ...

  4. 1131 Subway Map DFS解法 BFS回溯!

    In the big cities, the subway systems always look so complex to the visitors. To give you some sense ...

  5. BASH 环境

    本节内容 1.  什么是shell 2.  命令的优先级 3.  元字符 4.  登录shell与非登录shell 一  什么是shell shell一般代表两个层面的意思,一个是命令解释器,如bas ...

  6. 背水一战 Windows 10 (91) - 文件系统: Application Data 中的文件操作, Application Data 中的“设置”操作, 通过 uri 引用 Application Data 中的媒体

    [源码下载] 背水一战 Windows 10 (91) - 文件系统: Application Data 中的文件操作, Application Data 中的“设置”操作, 通过 uri 引用 Ap ...

  7. Media Queries 媒体查询常见设备断点

    按需调整断点 一.谷歌后摘抄的一部分媒体查询 /*#region SmartPhones */ /* SmartPhones */@media only screen and (min-device- ...

  8. Hessian学习(springboot环境)

    Hessian介绍: Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单.快捷.采用的是二进制RPC协议 ...

  9. Delphi - TDateTimePicker使用注意问题

    TDateTimePicker使用时候,如果想获取到修改后的值,必须注Kind和time属性必须对应! 1,时间设置: treatmentTime1DTPicker.Kind := dtkTime; ...

  10. 三种方法在当前目录下打开cmd命令窗口

    概述 运行npm的时候,每次都要cd到目录,很麻烦,所以总结了三种在当前目录下直接打开cmd窗口的方法,供以后开发时参考,相信对其他人也有用. 方法一 在当前目录按住shift再右键. 会看到右键菜单 ...