`

[oracle]逗号(或分号等)间隔的列,按这一列劈分后转多行

    博客分类:
  • SQL
阅读更多
     今天遇到个需求,要匹配两个表, 但是关联的字段,在另一个表中是放在一个字段中用分号分割的

怎么全部匹配呢?

后来在网上搜到了, 记录下



SELECT cp.ES_EXTNUMBER,

       cp.ES_AGENTID,

       cp.ES_CHSTATESTR,

       (sysdate-cp.ES_STARTDATETIME)*24*3600 es_times,

       REGEXP_SUBSTR(CP.ES_GROUP, '[^;]+', 1, L) AS ES_GROUP

       ,L

FROM aladdinpbx_extstate CP,

     (SELECT LEVEL L FROM DUAL CONNECT BY LEVEL <= 10)

WHERE L(+) <= LENGTH(CP.ES_GROUP) - LENGTH(REPLACE(CP.ES_GROUP, ';')) + 1

order by ES_EXTNUMBER



http://dl.iteye.com/upload/picture/pic/136177/487baa3f-f642-3fe4-b573-4785d7c2a061-thumb.png



  • 大小: 126.4 KB
分享到:
评论

相关推荐

    oracle sql 某列的值按照逗号分割显示成多行.sql

    oracle 某列存儲的值是有逗號的字符串,希望通過逗號分隔開來顯示多行。sql,有預期結果,有項目實戰。

    oracle实现行转列功能,并使用逗号进行隔开拼接,成为一条数据.pdf

    Oracle 中实现行转列功能,并使用逗号进行隔开拼接,成为一条数据是指将多行数据合并成一行数据,并用逗号分隔每个字段的值。这种功能在实际应用中非常有用,例如在报表生成、数据分析和数据整合等场景中。 在 ...

    oracle将以逗号分隔字符串转多行

    在Oracle数据库中,将逗号分隔的字符串转换为多行是常见的数据...这在处理大量数据,尤其是日志数据或配置文件等以逗号分隔的数据格式时非常有用。同时,这也展示了Oracle SQL在处理字符串和层次结构方面的强大功能。

    oracle字段分隔为多行显示

    比如一个字段'11,22,22,33,44',一个查询语句显示成4行,就可以这样来实现。 11 22 22 33 44

    Oracle多行记录合并

    在Oracle数据库中,多行记录的合并通常是为了将相同字段的多行数据整合成一行,以便于数据分析或者简化展示。这种操作在报表制作、数据整理等场景中非常常见。本篇文章将详细介绍Oracle中实现多行记录合并的几种方法...

    oracle多行转为字符串总结

    介绍了将多行转为字符串的三种方案,并比较了三种方案的执行效率. 1.sys_connect_by_path + start with ... connect by ... prior + 分析函数 2.自定义Function/SP 3.使用 Oracle 10g 内置函数 wmsys.wm_concat

    Oracle 分割字符串 返回多行数据

    Oracle 分割字符串 返回多行数据

    Oracle逗号分隔列转行实现方法

    那么,现在如果给出一个权限编号,要去检索出用后这个权限的用户集合,就会需要在逗号分隔的多个权限编号中去匹配给出的这个权限编号。如果使用like去做,一则效率不高,二则匹配不精确。因此用到了逗号分隔列转行的...

    oracle数据库一行拆成多行.sql

    oracle数据库一行拆成多行.sql

    Oracle行转列(不定列)

    然而,在某些场景下,我们可能需要将同一类别的数据从多行转换为一列,以便于比较或分析。Oracle提供了一个名为`PIVOT`的SQL语法,用于实现这种转换。`PIVOT`操作可以将表中的行数据转换为列,使得原本的行数据在...

    一列分割成多列,多行合并为一行

    SQL语句用with将列分割成多列存为临时表,再将多行某个字段拼接合并为一行

    oracle存储过程返回多行多列的结构化数组,java调用并解析

    总结来说,本示例展示了如何在Oracle存储过程中定义和使用结构化数组,以及如何在Java中调用这些存储过程并解析返回的多行多列数据。通过这种方式,你可以高效地处理复杂的数据结构,同时利用Java的灵活性来处理这些...

    Oracle字段转字符串/多行记录合并/连接/聚合字符串的几种方法

    在Oracle数据库中,有时我们需要将多个字段值转换为单个字符串,或者将多行记录合并成一行,这在数据处理和报告生成时尤其常见。Oracle提供了多种方法来实现这一目标,包括使用内置函数、PL/SQL过程以及一些高级特性...

    SQL 语句 将一个表中用特殊字符分割的字段转换成多行数据.docx

    为了解决这个问题,我们可以创建一个字符串分割函数,通过直接查询就能将分割后的结果转换成多行数据。 1. 创建字符串分割函数 首先,我们需要创建一个字符串分割函数,名为 `StringSplit`。这个函数将接受两个...

    oracle查询表的所有列并用逗号隔开

    在Oracle数据库环境中,有时我们需要获取一个表的所有列名,并且以特定格式(如逗号分隔)输出这些列名。这种需求通常出现在多种场景中,比如动态SQL构建、数据迁移或者系统日志记录等。本篇文章将详细介绍如何在...

    oracle10g,9i多行合并一行函数

    ### Oracle 10g与9i中的多行合并为一行函数详解 在Oracle数据库系统中,经常需要将多个行的数据合并成单行显示,尤其是在处理报告或者需要将多个值组合成一个字符串的情况下。本文将详细介绍如何在Oracle 10g与9i...

    oracle多行合并一行

    在Oracle数据库中,有时候我们需要将多行数据合并成一行进行展示或处理,尤其是在报表生成、数据展示等场景中。本文将详细介绍如何使用Oracle纯SQL语句实现这一功能,并通过具体示例来帮助理解。 #### 一、问题背景...

    DB2 SQL 实现行转列,列转行

    DB2 SQL 通过函数(CONCAT/POSSTR/LOCATE)实现行转列,列转行 可以按照标点把多列转换为一行,多行转换为一列

    sql实现多行合并一行

    在SQL中,有时候我们需要将查询结果中多行的数据合并成一行,这在处理某些特定的报表或数据分析时非常有用。这种技术通常被称为行合并或行聚合。在本例中,我们将探讨如何使用纯SQL实现这一功能,特别是针对Oracle...

Global site tag (gtag.js) - Google Analytics