文档章节

Oracle字符串拼接方法(以逗号分隔)

第九1008
 第九1008
发布于 2017/04/26 17:04
字数 171
阅读 32
收藏 0

create or replace type body string_agg_type
Is
    static function ODCIAggregateInitialize(sctx IN OUT string_agg_type)
    return number
    is
    begin
      sctx := string_agg_type( null );
      return ODCIConst.Success;
    end;

    member function ODCIAggregateIterate(self IN OUT string_agg_type,value IN varchar2 )
    return number
    is
    begin
      self.total := self.total || ',' || value;
      return ODCIConst.Success;
    end;

    member function ODCIAggregateTerminate(self IN string_agg_type,returnValue OUT varchar2,flags IN number)
    return number
    is
    begin
      returnValue := ltrim(self.total,',');
      return ODCIConst.Success;
    end;

    member function ODCIAggregateMerge(self IN OUT string_agg_type,ctx2 IN string_agg_type)
    return number
    is
    begin
      self.total := self.total || ctx2.total;
      return ODCIConst.Success;
    end;

end;


CREATE OR REPLACE TYPE "STRING_AGG_TYPE"                                                                                                                                                                                                                                                                                                                                                                                                                                                       as object
(
    total varchar2(4000),

    static function
    ODCIAggregateInitialize(sctx IN OUT string_agg_type )
    return number,


    member function
    ODCIAggregateIterate(self IN OUT string_agg_type , value IN varchar2 )
    return number,


    member function
    ODCIAggregateTerminate(self IN string_agg_type,   returnValue OUT varchar2, flags IN number)
    return number,


    member function
    ODCIAggregateMerge(self IN OUT string_agg_type,  ctx2 IN string_agg_type)
    return number
)


CREATE OR REPLACE FUNCTION stragg(input varchar2 )
RETURN varchar2
PARALLEL_ENABLE AGGREGATE USING string_agg_type;
 

© 著作权归作者所有

第九1008
粉丝 0
博文 12
码字总数 1784
作品 0
昌平
程序员
私信 提问
动态构建Expression表达式树

话说.Net已经发展到4.5了,大家对Lambda和Linq应该比较熟悉了。比如我们要取出产品集合里面SKU以"123"开头的产品集,就可以这么写: Products=Products.Where(p=>p.SKUCode.StartWith("123"......

tuoxieyz
2012/12/17
0
0
4.Python入门之元组,字符串

一.元组:戴上枷锁的数组 元组不同于列表,可以任意修改列表元素,插入或删除元素,其是不可改变的,更别谈排序操作了. 1.创建和访问元组 元组大部分使用的是小括号 tuple1=(1,2,3) 访问方式参照列...

lwz45698752
2017/11/22
0
0
11g中利用listagg函数实现自动拼接INSERT语句

本来今天想继续写另一篇外传,但总是熬这么晚不是个事儿,况且今儿北京又输了,恨铁不成钢,堵得慌。。。 白天工作忙,晚上看娃睡了之后才有一些时间可以随便写一些,总结一下,记录一下,算...

bisal
2016/12/29
0
0
concat和concat_ws()区别及MySQL的几个实用字符串函数【转】

1、concat()函数 1.1 MySQL的concat函数可以连接一个或者多个字符串,如 mysql>select concat('10'); +--------------+ |concat('10') | +--------------+ |10 | +--------------+ 1 row in s......

houyiwujing
2011/12/15
181
0
js笔记二十之Array数组的查询,拼接,转字符串,排列(序)

数组查询 slice 数组的查询 参数: slice(n,m) 从索引n开始找到索引m处(不包含m) 返回值: 把找到的部分以一个新数组返回 原来数组不变 slice(n) 从索引n找到末尾 slice(0)或slice() 数组克隆,...

uplyw
2018/05/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

cpu load过高问题排查

load average的概念 top命令中load average显示的是最近1分钟、5分钟和15分钟的系统平均负载。 系统平均负载被定义为在特定时间间隔内运行队列中(在CPU上运行或者等待运行多少进程)的平均进程...

mskk
20分钟前
4
0
用spring boot 实现websocket

import java.io.IOException;import javax.websocket.OnClose;import javax.websocket.OnError;import javax.websocket.OnMessage;import javax.websocket.OnOpen;import java......

jingshishengxu
30分钟前
3
0
shell介绍,命令历史,命令补全和别名,通配符,输入输出重定向,管道符和作业控制

shell介绍 可以使用 yum list |grep zsh 或者 yum list |grep ksh 这样可以搜索 zsh 和 ksh ,有需要的话可以安装 总之,默认使用的就是 .bash shell 命令历史 输入过的命令会被保存在一个文...

doomcat
47分钟前
7
0
1995年的资深工程师,和你谈谈如何进阶

1995年的资深工程师,和你谈谈如何进阶 自我介绍 网络ID:杭城小刘,城市:顾名思义,人在杭州。1995年出生,本科毕业,现在是一名 iOS 资深工程师,年薪 35w。兴趣爱好广泛:乒乓球、美食、...

杭城小刘
今天
10
0
Kafka 面试题

1.Kafka中的ISR、AR代表什么? ISR:与leader保持同步的follower集合 AR:分区的所有副本 2.Kafka中的HW、LEO分别代表什么? LEO:每个副本的最后条消息的offset HW:一个分区中所有副本最小...

GrayWorld
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部