`
toprogrammer
  • 浏览: 65357 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ORACLE:一列的多行数据拼成字符串

阅读更多
上篇文章写的是在ibatis中,需要返回一个字符串,却返回了多行数据,结果出现了错误。

其实,我想做的是:

  查询表中的一个字段,返回了多行,就把这么多行的数据都拼成一个字符串。

例:   id  name
       1   aa
       2   bb
       3   cc

  要的结果是"aa,bb,cc"

以前有过这种需求,我用存储过程拼接,或者在程序中取出数据拼接,就这样暂时解决了。


可是事后一直在想是不是可以直接查出来,这样就简单多了,oracle中应该有这样的方法的,可是一直没找到,呵呵,今天终于解决了。

select WMSYS.WM_CONCAT(a.name) from user a

这样的话,查询出的结果:"aa.bb.cc"

解决是解决了,不过用中间用点间隔不太好,希望用逗分号

改进一下:

select replace(WMSYS.WM_CONCAT(a.name),',',';') from user a

结果:"aa;bb;cc"

终于,完美解决了一直困扰我的问题。。。挺简单的一个方法
分享到:
评论
3 楼 NF160 2014-08-22  
我表示11g出来不用replace就直接是 逗号分隔啊
2 楼 laoqian9527 2013-12-11  
ease204304 写道
补充下
9i的用不了
11g的可以使用

9i确实使用不了。请问在9i该如何自定义这样的函数呢
1 楼 ease204304 2011-12-13  
补充下
9i的用不了
11g的可以使用

相关推荐

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

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

    Oracle多行记录合并

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

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

    WM_CONCAT 函数是一个聚合函数,可以将多行数据合并成一个字符串。使用 WM_CONCAT 函数可以实现行转列功能,但是需要注意的是,WM_CONCAT 函数已经被 Oracle 弃用,不建议使用。 示例代码: ```sql SELECT sfc_no, ...

    通过SQL语句实现行列转换的几种方法

    3. **多列转换成字符串**:将多列数据合并为一个字符串,便于存储或传输。 4. **多行转换成字符串**:将多行数据合并为一个字符串,是本文讨论的重点。 5. **字符串转换成多列**:将包含多个值的字符串拆分为多列,...

    oracle实现多行合并的方法

    `WMSYS.WM_CONCAT`是Oracle的一个内部函数,用于将特定列中的多行数据合并成一个单一的字符串。这个函数在GROUP BY语句中使用,允许你在分组后的结果集中合并每个组的特定列的值。例如,假设我们有一个名为`t_menu_...

    oracle列合并的实现方法

    在Oracle数据库中,有时我们需要将同一表中多个列的值合并为一个字符串,这被称为列合并。Oracle提供了多种方法来实现这一功能,特别是在不同版本中,这些方法有所不同。以下是Oracle列合并的一些常用方法: 1. **...

    sql高级进阶

    - 将结果集反向转置为一列:将多行数据合并为单个字段。 - 抑制结果集中的重复值:使用DISTINCT关键字。 - 利用“行转列”进行计算:在转换后的数据上进行分析计算。 - 给数据分组:使用GROUP BY子句对数据进行...

    Oracle笔试题目带答案.docx

    13. SELECT语句中的地址拼接会返回1列,因为所有地址字段被合并成一个单一的字符串。 14. TO_CHAR函数可以针对任意数据类型进行操作,用于将数据转换为字符格式。 15. PARTITION BY LIST(msn_id)子句表示按msn_id...

    OCP 12c之01_12c_ocp_Sql_Workshop

    - 字符串连接和字面字符串:使用连接符“||”可以将多个字符串或列值拼接成一个字符串返回,而字面字符字符串允许直接在查询中嵌入字符串。 - 替代引号操作符:SQL中使用双引号来指定大小写敏感的标识符。 - ...

    2009达内SQL学习笔记

    select:从一个或多个表中检索一个或多个数据列。包含信息:想选择什么表,从什么地方选择。必须要有From子句。(最常用) 当从多张表里查询的时候,会产生笛卡尔积;可用条件过滤它。 当两个表有相同字段时必须加...

Global site tag (gtag.js) - Google Analytics