Oracle 9i 中字符之间的子字符串

2023-12-19

在以后的版本中我可以使用这个regexp_substr:

SELECT 
    ID, 
    regexp_substr(ID, '[^.]+', 1, 2) DATA 1, 
    regexp_substr(ID, '[^.]+', 1, 3) DATA 2 
FROM employees

Table: 雇员

ID
--------------------------
2017.1.3001-ABC.01.01
2017.2.3002-ABCD.02.02
2017.303.3003-ABC.03.03
2017.404.3004-ABCD.04.04

预期输出:

ID                       DATA 1 DATA 2
------------------------ ------ ---------
2017.1.3001-ABC.01.01    1      3001-ABC
2017.2.3002-ABCD.02.02   2      3002-ABCD
2017.303.3003-ABC.03.03  303    3003-ABC
2017.404.3004-ABCD.04.04 404    3004-ABCD

请帮我获取之间的子字符串.ID 列中的字符SQL 甲骨文 9i.


您不需要正则表达式 - 只需使用SUBSTR and INSTR:

SELECT id,
       SUBSTR( id, dot1 + 1, dot2 - dot1 - 1) AS data1,
       SUBSTR( id, dot2 + 1, dot3 - dot2 - 1) AS data2
FROM   (
  SELECT id,
         INSTR( id, '.', 1, 1 ) AS dot1,
         INSTR( id, '.', 1, 2 ) AS dot2,
         INSTR( id, '.', 1, 3 ) AS dot3
  FROM   employees
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Oracle 9i 中字符之间的子字符串 的相关文章

  • 在 SQL 数据库中存储自定义字段的首选方式是什么?

    我的朋友正在开发一款供不同独立医疗单位使用的产品 该数据库存储了在不同时间进行的大量测量数据 例如体温 血压等 让我们假设它们保存在一个名为的表中exams有柱子temperature pressure等 以及id patient id a
  • 将平面表解析为树的最有效/优雅的方法是什么?

    假设您有一个存储有序树层次结构的平面表 Id Name ParentId Order 1 Node 1 0 10 2 Node 1 1 1 10 3 Node 2 0 20 4 Node 1 1 1 2 10 5 Node 2 1 3 10
  • 如何使用 LINQ 在多个 OR 内创建 SQL 嵌套 AND

    我正在尝试从以下 SQL 示例创建等效的 LINQ 查询 SELECT FROM FOO WHERE a
  • 如何将 ROW_NUMBER() 分配给列?

    看完之后这个问题 https stackoverflow com questions 1293390 sql to output line number in results of a query 我还有一个类似的问题 有没有一种简单的方法
  • SQL 外键引用

    Does FOREIGN KEY a REFERENCES A a FOREIGN KEY b REFERENCES A b 与以下含义相同 FOREIGN KEY a b REFERENCES A a b No 有两个references
  • 通过 phpMyAdmin 在 MySQL 中创建 id 字段时是否必须指定整数长度?

    我看到有人在教程中没有设置长度 而是专门为了统计用户总数而设置为自动递增 我一直习惯于总是指定长度 因为我认为这是强制性的 但我想问我是否可以将其留空 除非它特别是始终设置长度的日期或密码等 如果我不确定的话 我曾经将其设置为11位或更多
  • SQL 中最有效的搜索方式?

    我有一个包含 75 000 多行的数据库 每天添加 500 多个条目 每行都有一个标题和说明 我创建了一个 RSS 提要 它为您提供特定搜索词的最新条目 例如http site com rss rss q 披萨 http site com
  • 尝试使用 PHP / Html 从注册表单将数据输入到 SQL 表中

    我尝试了很多不同的事情并进行了很多搜索但没有解决方案 我正在尝试使用 html 表单将数据提交到 sql 表 这是我的 register php 文件的代码 con mysqli connect localhost database nam
  • PL/SQL 中的 IN、OUT、IN OUT 参数到底是什么

    我在这里查找了问题 也在网上查找和观看视频 但我仍然不清楚 IN OUT 到底是什么 我问的原因是因为我正在编写一个程序 该程序将根据其他程序中的 IN 参数记录错误 Cheers Oracle 文档here https docs orac
  • 当在另一个表中找到匹配项时更新列

    我尝试使用表 A 中与 Passport no 匹配的值更新表 B 中的列 下面是我的sql查询 update tabel b set b country id a national id from table a a join tabel
  • 高级 MySQL:查找民意调查响应之间的相关性

    我有四个 MySQL 表 users 身份证号 姓名 polls ID 文本 options id poll id 文本 回应 id poll id 选项 id 用户 id 给定一个特定的民意调查和一个特定的选项 我想生成一个表格 显示其他
  • SQL查询获取列的精度值

    我需要一个 SQL 查询来获取某些列的精度值 我主要关心十进制类型列 并且我需要相同的精度值 我意识到在某些版本和数据库服务器供应商中可以这样做 如果您能列出其中的一些 那就太好了 对于 SQL 服务器 select precision f
  • java为oracle VARCHAR2返回空字符串值

    我有以下代码 它似乎工作正常 但它不显示 personCode 字符串的任何值 PERSON CODE 是 Oracle 9i 数据库中的 VARCHAR2 我在我的项目中使用 Java SE 1 7 和 ojdbc7 jar 我是 Jav
  • Oracle数据库中的自增主键

    我想在 SQL Server 的列中实现标识或自动递增值 CREATE TABLE RollingStock Id NUMBER IDENTITY 1 1 Name Varchar2 80 NOT NULL 如何才能做到这一点 正如 Orb
  • 大型数据集的报告工具/查看器

    我有一个数据处理系统 可以根据其处理的数据生成非常大的报告 我所说的 大 是指该系统的 小 执行在转储到 CSV 文件中时会产生大约 30 MB 的报告数据 而大数据集大约为 130 150 MB 我确信有人有更大的想法 大 但这不是重点
  • 带可选参数的 SQL 更新命令?

    我将大约 500 000 个对象插入数据库 其中许多对象是相同的 在数据库中具有相同的主键表示 但其他字段可能不同 因此我使用方法 更新 如果没有行受影响 插入 问题是 有时一个对象的某些字段设置为 null 从文件中无法读取 并且已经在数
  • 在数据库中有效存储商品位置(用于订购)

    设想 有一个用户拥有的电影数据库 电影显示在一个名为 我的电影 的页面上 电影可以按照用户想要的顺序显示 例如 位置 1 为 搏击俱乐部 位置 3 为 Drive 依此类推 显而易见的解决方案是存储每个项目的位置 例如 电影 ID 用户 I
  • 创建触发器

    如何启动触发器 以便在未付余额超过 50 美元的情况下无人能够租借电影 这里有一个跨行表约束 即你不能只放置一个 OracleCONSTRAINT在列上 因为它们一次只能查看一行中的数据 Oracle 仅支持两种跨 行约束类型 唯一性 例如
  • 在 SQL 中查询行序列

    假设我正在存储events有关联users如下表 其中dt代表事件的时间戳 dt user event 1 1 A 2 1 D 3 1 B 4 1 C 5 1 B 6 2 B 7 2 B 8 2 A 9 2 A 10 2 C 这样我们就可以
  • 排除任何字段中具有 NULL 值的行结果?

    我有一个像这样的简单选择 SELECT FROM table WHERE fk id 10020 它可以工作 但有一些字段为 NULL 没有模式所以做了 SELECT FROM table WHERE fk id 10020 AND NOT

随机推荐