Oracle 关于oracle自带的行转列函数】的更多相关文章

前言: 环境是java+hibernate+oracle11g 目标是将某表中根据id分组后将name字段的值拼接到一列中,且用“,“进行分割 试过用 wm_concat() 结合 group by , 在pl/sql中执行正常, 但是在java程序运行时会报: ORA-22922:不存在的 LOB 值 1.没用hql查询,用的纯sql 2.也将字段转换为varchar类型了: cast(wm_concat(name) as varchar2(2000)) 很头疼,网上说可能是hibernate…
今天接到业务部门的一个需求,需要对同一公司的不同财务指标进行排序,需要用到oracle的行转列函数unpivot. 财务报表的表结构为: 要实现业务部门的排序筛选功能,需要首先将行数据转为列数据: 使用unpivot函数,实现如下 with t4 as (select t3.COMPCODE, t3.ENDDATE, t3.CURFDS as "货币资金", t3.TRADFINASSET as "交易性金融资产", t3.NOTESRECE as "应收…
1.通过 10g 所提供的 WMSYS.WM_CONCAT 函数即可以完成 行转列的效果 select group_code, wm_concat(display_title) from DR_OPM_DATASET_RELATED group by group_code 网上看到例子: CREATE TABLE tab_name(ID INTEGER NOT NULL PRIMARY KEY,cName VARCHAR2(20));CREATE TABLE tab_name2(ID INTEG…
--行转列自定义函数,只针对TABLE1表 --paramType是参数类型,用于判断,param1和param2是条件参数 create or replace function My_concat(paramType in integer,param1 in varchar2,param2 in varchar2) return varchar2 is resultStr ); begin then --定义游标 for temp_cursor1 in (select CONTA_ID FRO…
TDstats.udfConcat为Teradata自带UDF,定义如下: show function tdstats.udfconcat; REPLACE FUNCTION tdstats.UDFCONCAT (aVarchar ) CHARACTER SET UNICODE) ) CHARACTER SET UNICODE CLASS AGGREGATE () SPECIFIC udfConcat LANGUAGE C NO SQL NO EXTERNAL DATA PARAMETER ST…
1.使用条件查询 查询部门为20的员工列表    -- 查询部门为20的员工列表    SELECT t.DEPTNO,t.ENAME FROM SCOTT.EMP t where t.DEPTNO = '20' ;    效果:2.使用  listagg() WITHIN GROUP ()  将多行合并成一行(比较常用)    SELECT        T .DEPTNO,        listagg (T .ENAME, ',') WITHIN GROUP (ORDER BY T .EN…
--Type CREATE OR REPLACE TYPE zh_concat_im AUTHID CURRENT_USER AS OBJECT ( CURR_STR clob, STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT zh_concat_im) RETURN NUMBER, MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT zh_concat_im, P1 IN VARCHAR2)…
with temp as( select '湖北省' province,'武汉市' city,'第一' ranking from dual union all select '湖北省' province,'孝感市' city,'第二' ranking from dual union all select '湖北省' province,'宜昌市' city,'第三' ranking from dual union all select '湖北省' province,'襄阳市' city,'第四'…
可以查看博客园上传的文件 pivot  除了要转成列的字段(classnum,classid)值不一样,其他值都应该相同,否则转的数据有问题…