关闭

Oracle11gr2分析函数新特性(二)

351人阅读 评论(0) 收藏 举报

11gr2中,Oracle终于实现了这个分析函数

select name,
  listagg(name, ',') within group (order by id) over(partition by type) s_name
   from t
  where type in ('DIRECTORY', 'JAVA SOURCE', 'SCHEDULE');


NAME                      S_NAME
------------------------- -----------------------------------------------------------
ORACLE_OCM_CONFIG_DIR     ORACLE_OCM_CONFIG_DIR,DATA_PUMP_DIR,XMLDIR
DATA_PUMP_DIR             ORACLE_OCM_CONFIG_DIR,DATA_PUMP_DIR,XMLDIR
XMLDIR                    ORACLE_OCM_CONFIG_DIR,DATA_PUMP_DIR,XMLDIR
dbFWTrace                 dbFWTrace,schedFileWatcherJava


已选择8行。
上面是这个函数的3种用法,分别是不带GROUP BY的聚集函数,包含GROUP BY的聚集函数,和分析函数。
和自定义聚集函数相比,这个新增分析函数的最大功能是实现了排序的功能。
当然这个函数返回的是VARCHAR2类型,也就是仍然没有解决返回字符串超长的问题:

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1920441次
    • 积分:17496
    • 等级:
    • 排名:第548名
    • 原创:297篇
    • 转载:330篇
    • 译文:0篇
    • 评论:107条
    最新评论