ORACLE截取表中某含有标识符,多个字节的字段(4408***/4408***/4408***/4408***),INSTR与SUBSTR结合使用

oracle INSTR与SUBSTR结合使用,截取表中某含有标识符,多个字节的字段,如:(4408***/4408***/4408***/4408***)

  • instr语法
  • SUBSTR语法
  • 示例
  • 大致解释。。
  • 查询结果图

instr语法

instr(sourceString,destString,start,appearPosition)
sourceString:源字符串;
destString:要从源字符串中查找的子串;
start:查找的开始位置,这个参数可选的,默认为1;
appearPosition:想从源字符中查找出第几次出现的destString,这个参数也是可选的, 默认为1 。

SUBSTR语法

SUBSTR(sourceString,start,length)
sourceString:源字符串;
start:截取的开始位置;
length:截取的长度,默认到strat到最终位置的长度;

示例

SELECT 

INSTR(Gajgjgdm,'/') as 第一个分号的位置,
INSTR(Gajgjgdm||'/440899571111','/',-1) as 最后一个分号的位置,
Gajgjgdm||'/440899571111' as 增加一个字段440899571111,
         SUBSTR(Gajgjgdm||'440899571111',1,INSTR(Gajgjgdm||'/440899571111','/')-1) as 第一个字段, 

SUBSTR(Gajgjgdm||'440899571111',INSTR(Gajgjgdm||'/440899571111','/',1,2)+1,12) as 第三个字段,

SUBSTR(Gajgjgdm||'440899571111',INSTR(Gajgjgdm||'/440899571111','/',1,3)+1,12) as 最后一个字段,

SUBSTR(Gajgjgdm||'440899571111',INSTR(Gajgjgdm||'/440899571111','/',-1)+1,12) as 最后一个字段

FROM ZJ_ZA_LGY_LGXX T

大致解释。。

如下图所示:
注:Gajgjgdm只是我的表中的一个字段名。

  • 表ZJ_ZA_LGY_LGXX的Gajgjgdm字段的格式为“440800000000/440803000000/440803570000”,为了详细示例,手动通过||’440899571111’给Gajgjgdm增加一个字节,现在为4个字节:440800000000/440803000000/440803570000/440899571111。

  • 如果要取第一个字节,可以使用INSTR语句:INSTR(Gajgjgdm,’/’),得到第一个“/”的坐标位置,INSTR(Gajgjgdm,’/’)默认查找的起始位置为1以及“/”第一次出现的位置,由于字节440800000000长度为12,可以得出”/”第一次出现的位置为13;然后通过SUBSTR语句截取Gajgjgdm 这一列,从第1位开始,长度为12的字节:

SUBSTR(Gajgjgdm||'440899571111',1,INSTR(Gajgjgdm||'/440899571111', '/')-1)
  • 依次类推,需要截取第二段第三段第四段都是同样的原理,如截取第三个字段,先使用INSTR语句:INSTR(Gajgjgdm ||’/440899571111’,’/’,1,2)找出“/”第二次出现的位置,为26,由于字段中每一该字节的长度都是12,所以这里我直接使用了

    SUBSTR(Gajgjgdm||'440899571111',INSTR(Gajgjgdm||'/440899571111','/',1,2)+1,12)

    如果字节的长度是不固定的,可以通过查询“/”第二次出现的位置与第一次出现的位置的差作为SUBSTR的长度,如:

    SUBSTR(Gajgjgdm||'440899571111',INSTR(Gajgjgdm||'/440899571111','/',1,2)+1,INSTR(Gajgjgdm||'/440899571111','/',1,3)-INSTR(Gajgjgdm||'/440899571111','/',1,2)-1)
  • 实际操作中不一定这个字段每个都是固定3个或者4个字节,这时候如果需要取最后一个字节,如何操作?

    INSTR(Gajgjgdm, '/',-1)

    表示查询的为最后一次“/”出现的位置,如果需要截取某列最后一个字节但是此字段拥有不相等的字节,可以使用

    INSTR(Gajgjgdm, '/',-1)

    来得出“/”最后一次出现的位置,有上述substr语法可知substr语句不定义长度的时候默认取到最后一个字节,这时候再使用

    SUBSTR(Gajgjgdm||'440899571111',INSTR(Gajgjgdm||'/440899571111', '/',-1)+1)

    可得。

查询结果图:

这里写图片描述

已标记关键词 清除标记
相关推荐
oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件的数据运行新增、截取、更新、删除等操作。 常见的数据模型 1. 层次结构模型: 层次结构模型实质上是一种有根结点的定向有序树,IMS(Information Manage-mentSystem)是其典型代。 2. 网状结构模型:按照网状数据结构建立的数据库系统称为网状数据库系统,其典型代是DBTG(Data Base Task Group)。 3. 关系结构模型:关系式数据结构把一些复杂的数据结构归结为简单的二元关系(即二维格形式)。常见的有Oracle、mssql、mysql等 二、 主流数据库 数据库名 公司 特点 工作环境 mssql 微软 只能能运行在windows平台,体积比较庞大,占用许多系统资源, 但使用很方便,支持命令和图形化管理,收费。 型企业 Mysql 甲骨文 是个开源的数据库server,可运行在多种平台, 特点是响应速度特别快,主要面向小企业 小型企业 PostgreSQL 号称“世界上最先进的开源数据库“,可以运行在多种平台下,是tb级数据库,而且性能也很好 大型企业 oracle 甲骨文 获得最高认证级别的ISO标准安全认证,性能最高, 保持开放平台下的TPC-D和TPC-C的世界记录。但价格不菲 大型企业 db2 IBM DB2在企业级的应用最为广泛, 在全球的500家最大的企业,几乎85%以上用DB2数据库服务器。收费 大型企业 Access 微软 Access是一种桌面数据库,只适合数据量少的应用,在处理少量 数据和单机访问的数据库时是很好的,效率也很高 小型企业 三、 Oracle数据库概述 ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。  拉里•埃里森  就业前景 从就业与择业的角度来讲,计算机相关专业的大学生从事oracle方面的技术是职业发展的最佳选择。 其一、就业面广:全球前100强企业99家都在使用ORACLE相关技术,国政府机构,大型企事业单位都能有ORACLE技术的工程师岗位。 其二、技术层次深:如果期望进入IT服务或者产品公司(类似毕博、DELL、IBM等),Oracle技术能够帮助提高就业的深度。 其三、职业方向多:Oracle数据库管理方向、Oracle开发及系统架构方向、Oracle数据建模数据仓库等方向。 四、 如何学习 认真听课、多思考问题、多动手操作、有问题一定要问、多参与讨论、多帮组同学 五、 体系结构 oracle的体系很庞大,要学习它,首先要了解oracle的框架。oracle的框架主要由物理结构、逻辑结构、内存分配、后台进程、oracle例程、系统改变号 (System Change Number)组成  物理结构 物理结构包含三种数据文件: 1) 控制文件 2) 数据文件 3) 在线重做日志文件  逻辑结构 功能:数据库如何使用物理空间 组成:空间、段、区、块的组成层次 六、 oracle安装、卸载和启动  硬件要求 物理内存:1GB 可用物理内存:50M 交换空间大小:3.25GB 硬盘空间:10GB  安装 1. 安装程序成功下载,将会得到如下2个文件: 解压文件将得到database文件夹,文件组织如下: 点击setup.exe执行安装程序,开始安装。 2. 点击安装程序将会出现如下安装界面,步骤 1/9:配置安全更新 填写电子邮件地址(可以不填),去掉复选框,点击下一步 3. 步骤2/9:选择安装选项 勾选第一个,安装和配置数据库,点击下一步 4. 步骤3/8:选择系统类 勾选第一个:桌面类,点击下一步 5. 步骤4/8:配置数据库安装 选择安装路径,选择数据库版本(企业版),选择字符集(默认值) 填写全局数据库名,管理口令 6. 步骤5/8:先决条件检查 如果你的电脑满足要求但仍然显示检查失败,这时候直接忽略,勾选全部忽略 7. 步骤6/8:概要信息 核对将要安装数据的详细信息,并保存响应文件,以备以后查看。然后点击完成数据库安装 8. 步骤7/8:安装产品 产品安装过程将会出现以上2个界面 9. 步骤8/8:完成安装  卸载Oracle 1. 在运行services.msc打开服务,停止Oracle的所
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页