`
chun521521
  • 浏览: 281901 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

逗号分隔id串列转行

 
阅读更多

 

1.oracle数据库的

 

select wm_concat(a.name) from table1 a where a.id in (
select
  substr(t.ca,
         instr(t.ca, ',', 1, c.lv) + 1,
         instr(t.ca, ',', 1, c.lv + 1) - (instr(t.ca, ',', 1, c.lv) + 1)) AS ids
from (select
          ',' || ids|| ',' AS ca,
          length(ids|| ',') - nvl(length(REPLACE(ids, ',')), 0) AS cnt
     FROM table2 where hhoid = '10720150610000001') t,
  (select LEVEL lv from dual CONNECT BY LEVEL <= 10) c
where c.lv <= t.cnt
)

 

select bb.hhoid,wm_concat(aa.name) from table1 aa,(
select t.hhoid,substr(t.ca,instr(t.ca, ',', 1, c.lv) + 1,instr(t.ca, ',', 1, c.lv + 1) - (instr(t.ca, ',', 1, c.lv) + 1)) as ids
from ( select k.hhoid,',' || k.ids || ',' as ca, length(k.ids || ',') - nvl(length(replace(k.ids, ',')), 0) as cnt
from table2 k ) t,(select level lv from dual connect by level <= 10) c 
where c.lv <= t.cnt
)bb where aa.id = bb.ids and bb.hhoid = '10720150610000001'
group by bb.hhoid


 

 

 

 

 

 

 2.mysql

f1为 表table1的主键,f2为逗号分隔的字符串

 

select a.f1 ff1, substring_index(substring_index(a.f2,',',b.help_topic_id+1),',',-1)  ff2
from table1 a join mysql.help_topic b
on b.help_topic_id < (length(a.f2) - length(replace(a.f2,',',''))+1)
order by a.f1;

 

 

 

 

 

 

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

相关推荐

    SQL截取以逗号分隔的字符串SQL截取以逗号分隔的字符串

    SQL截取以逗号分隔的字符串SQL截取以逗号分隔的字符串SQL截取以逗号分隔的字符串SQL截取以逗号分隔的字符串

    (SQL)列转行工具

    可以把一列转成一行…… 分隔符默认为英文逗号,也可以转成INSERT 中VALUES()后面的单引号加逗号的形式。 以前用T-SQL时,总是把一列复制到EXCEL中,转置,然后复制到记本事中,把一空格替换成逗号……,这个工具...

    逗号分隔字符串,Vc 字符处理示例源码.rar

    逗号分隔字符串,Vc 字符处理示例源码, 以逗号为分隔点,自由任意拆分字符串,经常编写代码的朋友可能会想到Split,对,本代码就是使用Split函数实现分隔字符串,这相当实用,在日常编程中,对字符串的截娶过滤与...

    SQLServer逗号分隔的字符串转换成表

    例如,在 B/S 架构中,可以在客户端将批量选中的行标识为【审核通过】,然后将批量选中的行的 ID 用逗号分隔连接成一个 ID 串,发送到服务端,服务端进行处理。 在服务端,可以使用以下代码来实现将逗号分隔的字符...

    将逗号分隔的字符串转换为行记录.rar

    在Excel中,经常需要处理各种数据格式,其中一种常见的任务是将逗号分隔的字符串转换为多行记录。这通常发生在数据导入时,原始数据源以逗号为字段分隔符,但在Excel中,我们可能希望每个字段占据一行。本教程将详细...

    SQL 将以逗号分隔符的字符串转换为 table 列的函数

    将带分隔符的字符串 例如 '1,2,3,4,5,6,7,8,9,10' 转换成table 的列的函数

    js以逗号分隔方式添加删除字符串

    本文将深入探讨如何以逗号或其他自定义分隔符来添加或删除字符串,并且会强调不支持正则表达式中的特殊字符。我们将通过实例代码和步骤来详细解释这一过程。 首先,让我们理解“以逗号分隔方式添加字符串”。当你有...

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

    Oracle数据库在处理逗号分隔列转行的问题时,提供了一种高效且灵活的方法,尤其适用于需要从存储多个值的单个字段中提取并分别处理每个值的情况。这种技术主要利用了SQL的内置函数,如SUBSTR、INSTR、REPLACE和...

    MySQL中将一列以逗号分隔的值行转列的实现

    即一列中存储了多个属性值。如下表 pk value 1 ET,AT 2 AT,BT 3 AT,DT 4 DT,CT,AT 一般有这两种常见需求(测试数据见文末) 1.得到所有的不重复的值,如 value AT BT CT DT ET SQL...

    sqlserver 实现 行转列 split 分割的函数

    sqlserver 实现 行转列 split 分割的函数,具体使用方法写有在文件里。

    oracle wm_concat 列转行 逗号分隔

    执行这个查询后,结果将显示每个部门ID,以及该部门下所有员工的用户名,以逗号分隔,同时显示部门ID转换后的部门名称。 然而,由于WM_CONCAT的局限性,Oracle建议使用其他替代方法,如使用LISTAGG函数(自Oracle ...

    MATLAB 逗号分隔列表(下).md

    ### MATLAB 逗号分隔列表(下) #### 切片操作 在 MATLAB 中,逗号分隔列表(Comma Separated Lists, CSL)是处理数组和数据的一种强大工具。通过切片操作,用户可以从列表中选取特定的部分进行进一步的操作或分析...

    多行以指定分隔符拼接桌面绿色程序,类似列转行功能

    它能将多行文本,比如ID列,通过设定的分隔符(如逗号)合并成一行,便于进行SQL中的`IN`查询或者其他类似的用途。 描述中提到的“指定判断某列在一个范围内”的场景,可能是在数据库查询中,我们需要筛选出满足...

    Excel 逗号分隔的数字文本去重复排序

    CSV是一种通用的、相对简单的文件格式,用于存储表格数据(数字和文本),纯文本形式存储计算机数据,其中数字文本是由逗号分隔的字符串,例如:“1,2,3,4,5”。这种格式便于数据传输和处理,特别是在不同软件之间...

    mybatis Mapper.xml中传参多选 字符串形式逗号分隔 AND中拼接OR.rar

    标题和描述所提及的问题是关于如何在Mapper.xml文件中处理字符串形式的参数,这些参数由逗号分隔,并在`AND`语句中拼接`OR`子句来实现动态查询。这种场景在处理用户多选过滤条件时非常常见,比如在一个搜索框中,...

    行转列sql_server

    sql server 用于行转列,省得各位去找语句,select to_char(wm_concat('''' || valuelabel || '''')) name from (select distinct t.valuelabel from structuredrecruit t) select * from (select t.uhid, t....

    一列保存多个ID(将多个用逗号隔开的ID转换成用逗号隔开的名称)

    通过以上步骤,我们就能得到每个员工对应的逗号分隔的部门名称,从而满足了从列中多个逗号分隔的ID转换为部门名称的需求。然而,这种方法虽然实用,但并不理想,因为它不支持数据库的优化,且随着数据量的增长,性能...

    C++_C++_读取txt文档_txt内容读取_按空格分隔_按逗号分隔_

    本篇文章将详细讲解如何使用C++来读取txt文档,并按空格和逗号进行内容分隔。 首先,我们需要理解C++中文件I/O的基础。C++提供了fstream库来处理文件操作,主要包括ifstream(输入文件流)和ofstream(输出文件流)...

Global site tag (gtag.js) - Google Analytics