环境:Oracle10.2.0.5

在SQL中尝试使用正则

可以试下regexp_substr()来进行分割

首先创建一个实验视图:

  1. SQL> create or replace view test_ip as select '192.168.1.1' as ip from dual
  2. 2 union all
  3. 3 select '192.168.1.2' as ip from dual
  4. 4 union all
  5. 5 select '192.168.1.3' as ip from dual
  6. 6 union all
  7. 7 select '192.168.1.4' as ip from dual;

创建了一个视图,查看下视图的整体结构

  1. SQL> select * from test_ip;
  2. IP
  3. -----------
  4. 192.168.1.1
  5. 192.168.1.2
  6. 192.168.1.3
  7. 192.168.1.4

现在有一个需求,需要将这些ip以“.”为分隔符,分段显示ip

最终效果如下:

  1. IP1 IP2 IP3 IP4
  2. ---------------------- ---------------------- ---------------------- ----------------------
  3. 192 168 1 1
  4. 192 168 1 2
  5. 192 168 1 3
  6. 192 168 1 4

执行的SQL如下:

  1. select regexp_substr(a.ip, '[^.]+', 1, 1) ip1,
  2. regexp_substr(a.ip, '[^.]+', 1, 2) ip2,
  3. regexp_substr(a.ip, '[^.]+', 1, 3) ip3,
  4. regexp_substr(a.ip, '[^.]+', 1, 4) ip4
  5. from test_ip a;

分析:

regexp_substr()括号中的

[^.]   -->代表除了“.”以外的全部字段
+   -->表示匹配1次以上

1  -->从第一个“.”开始

2   -->匹配到的第二个字段

这样就能达到这个效果

【Oracle】regexp_substr()函数详解的更多相关文章

  1. oracle常用函数详解(详细)

    转自:https://www.cnblogs.com/lxl57610/p/7442130.html Oracle SQL 提供了用于执行特定操作的专用函数.这些函数大大增强了 SQL 语言的功能.函 ...

  2. Netsuite Formula > Oracle函数列表速查(PL/SQL单行函数和组函数详解).txt

    PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 ...

  3. Oracle中的substr()函数 详解及应用

    注:本文来源于<Oracle中的substr()函数 详解及应用> 1)substr函数格式   (俗称:字符截取函数) 格式1: substr(string string, int a, ...

  4. oracle表分区详解

    原文来自:http://www.cnblogs.com/leiOOlei/archive/2012/06/08/2541306.html oracle表分区详解 从以下几个方面来整理关于分区表的概念及 ...

  5. Oracle权限管理详解

    Oracle权限管理详解 转载--CzmMiao的博客生活 Oracle 权限 权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级.System 系统级. ...

  6. Oracle建立全文索引详解

    Oracle建立全文索引详解1.全文检索和普通检索的区别 不使用Oracle text功能,当然也有很多方法可以在Oracle数据库中搜索文本,比如INSTR函数和LIKE操作: SELECT *FR ...

  7. Oracle/PLSQL存储过程详解

    原文链接:https://blog.csdn.net/zezezuiaiya/article/details/79557621 Oracle/PLSQL存储过程详解 2018-03-14 17:31: ...

  8. malloc 与 free函数详解<转载>

    malloc和free函数详解   本文介绍malloc和free函数的内容. 在C中,对内存的管理是相当重要.下面开始介绍这两个函数: 一.malloc()和free()的基本概念以及基本用法: 1 ...

  9. NSSearchPathForDirectoriesInDomains函数详解

    NSSearchPathForDirectoriesInDomains函数详解     #import "NSString+FilePath.h" @implementation ...

随机推荐

  1. Mac下安装appium+python+Android sdk 环境完整流程

    安装大纲:1,安装jdk (jdk1.8及以上版本都可以,尽量不要用最新可能会不兼容) 2,安装android-sdk (mac版本的android-sdk) 3,mumu模拟器 (随便找的一个) 4 ...

  2. Azure应用服务+Github实现持续部署

    上次我们介绍了如何使用Azure应用服务(不用虚机不用Docker使用Azure应用服务部署ASP.NET Core程序).我们通过Visual studio新建一个项目后手动编译发布代码.然后通过F ...

  3. WPF TextBox 实现CornerRadius圆角

    <Grid Background="Gray" Height="230" Width="229"> <Border Cor ...

  4. 使用MDNS进行局域网服务发现(.NET Core)

    使用MDNS进行局域网服务发现(.NET Core) 想要服务写的好,配置文件不可少.如果是一个复杂的系统,甚至配置文件都是需要进行动态调整的,做起来好像就不是那么方便了,通常情况下,asp.net ...

  5. vue 表单基本 表单修饰符

    表单的基础 利用v-model进行双向数据绑定: 1.在下拉列表中,将v-model写在select中 2.单选框和复选框需要每个按钮都需要写上v-model 3.v-model在输入框中获取得是输入 ...

  6. Spark-5-如何定位导致数据倾斜的代码

    数据倾斜只会发生在shuffle过程中.这里给大家罗列一些常用的并且可能会触发shuffle操作的算子:distinct.groupByKey.reduceByKey.aggregateByKey.j ...

  7. Java篇:Docker的介绍安装 和常用命令

    文章目录 为什么 出现docker Docker的简介 容器(Container) 镜像(Image) 仓库(Repository) Docker的安装 查看容器 删除镜像 删除容器 部署应用 以my ...

  8. 【Go语言绘图】图片添加文字(二)

    这一篇将继续介绍gg库中绘制文字相关的方法,主要包括:DrawStringAnchored().DrawStringWrapped().MeasureMultilineString().WordWra ...

  9. Neighbour-Joining (NJ算法)

    clc;clear all;close all; Distance = [0,2,4,6,6,8; 2,0,4,6,6,8; 4,4,0,6,6,8; 6,6,6,0,4,8; 6,6,6,4,0,8 ...

  10. C#中RDLC合并两个列的值

    使用 & 符号连接 =Fields!ID.Value & Fields!Name.Value