zoukankan      html  css  js  c++  java
  • 关于wm_concat(把一列的值,通过','进行分隔后,合并成一个值进行显示)

    直接上原数据

    现在想按照schoolid分组,把对应的classid整理罗列出来

    oracle中内置了一个神奇的函数wm_concat(列名) 这个神奇的函数,可以把列值用“,”分隔开,并且是显示成一行

     我们先单独看看这个函数怎么玩的,直接上栗子

     发现返回了CLOB这样一个类型的东东,后面研究发现,这个主要是由于oracle版本不一样,导致的

    部分版本返回的类型是varchar的,部分版本的类型是CLOB的(具体哪些版本  这个自己实操的时候可以留意一下)

    为了使他们兼容,考虑使用to_char这个函数进行转换一下

     ok 成功了  他已经把一列的数据以','的形式合并成一个字段值了

    那这时候,和我们要的结果就很接近了

    再来看看我们的需求,按照schoolid分组进行合并显示

     好了  这样我们的效果就可以达到了

    现在我们来比较一下wm_concat这个函数和pivot这个函数的区别

    wm_concat:

    他是把一列的值,通过','进行分隔后,合并成一个值进行显示的

    pivot:

    他是把一列的值,当成字段值进行显示的

  • 相关阅读:
    正则表达式(RegExp)
    文本处理工具(cut,sort,tr,grep等)
    权限和ACL练习题
    访问控制列表ACL
    权限和ACL访问控制-02-特殊权限
    数据库的高级操作
    数据表三范式&范式理论
    数据表之间的关系
    数据表的列类型
    修改表结构
  • 原文地址:https://www.cnblogs.com/dudu485/p/12509383.html
Copyright © 2011-2022 走看看