orale wmsys.wm_concat()函数

wmsys.wm_concat();

简单创建一张学生表;

CREATE TABLE stu (
    s_id VARCHAR(10) not null primary key,--主键
    s_name VARCHAR(10) NOT NULL,
    s_class VARCHAR(10) not null,
    s_fraction NUMBER(5) NOT NULL
);

实现效果:查询没办学生 实现行转列; 

select t.s_class,WMSYS.WM_CONCAT(t.s_name) name  from stu t GROUP BY t.s_class;

实现效果二:

查询每班 学生姓名及分数实现行转列

select u.s_class,wmsys.wm_concat(u.s_name ||‘(‘||u.s_fraction||‘)‘)  from stu u GROUP BY u.s_class;

原文地址:https://www.cnblogs.com/wangfl/p/10966598.html

时间: 2024-08-28 20:01:51

orale wmsys.wm_concat()函数的相关文章

oracle中WMSYS.WM_CONCAT函数的版本差异

昨天在测试的时候发现,开发人员写的一段程序放在开发库中是好的,但是放在测试库中就会有问题.开发人员一直找不到问题的原因在哪里.于是就花了点时间协助开发人员来找问题的根本原因. 通过一些技术手段,定位到问题是由一个SQL语句引起的. SQL语句如下: WITH PXQ_TASK_TEMP AS (SELECT A.DISTRIBUTE_DATE,          A.APP_NO,          A.TASK_ID,          A.TASK_NO,          A.ACTUAL

wmsys.wm_concat()函数的使用

wmsys.wm_concat("字段")函数:实现 行转列 即把多行数据按需要合并的"字段"合并,该字段是多个数值以逗号隔开连接的形式 下面的结果是被我用/代替了逗号

Oracle数据库合并行记录,WMSYS.WM_CONCAT 函數的用法

Sql代码 select t.rank, t.Name from t_menu_item t; 10 CLARK    10 KING    10 MILLER    20 ADAMS    20 FORD    20 JONES    20 SCOTT    20 SMITH    30 ALLEN    30 BLAKE    30 JAMES    30 MARTIN    30 TURNER    30 WARD -------------------------------- 我们通过

oracle wm_concat函数用法

wmsys.wm_concat函数,它的作用是以','链接字符 例子如下: SQL> create table idtable (id number,name varchar2(30)); Table created SQL> insert into idtable values(10,'ab'); 1 row inserted SQL> insert into idtable values(10,'bc'); 1 row inserted SQL> insert into idt

Oracle行转列函数由wmsys.wm_concat到listagg的进化

测试表数据 select * from test01 ID    NAME 10    CLARK 10    KING 10    MILLER 20    ADAMS 20    FORD 20    JONES 20    SCOTT 20    SMITH 30    ALLEN 30    BLAKE 30    JAMES 30    MARTIN 30    TURNER 30    WARD 1.wmsys.wm_concat用法(在10g下) 这个函数很常见,但Oracle官方

Oracle数据库sql 列转字符串行函数WMSYS.WM_CONCAT()

例.select TO_CHAR(WMSYS.WM_CONCAT(ID)) from patrol_data_content  where patrol_unit_id = '1628D189543B441C998EA1F396E611BD'

重写Oracle的wm_concat函数,自定义分隔符、排序

oracle中,wm_concat函数是一个聚合函数,和mysql中的group_concat函数类似,不过group_concat函数比较强大,可以定义分隔符和排序,当然所谓强大是相对的,这里假使我们不知道oracle中的over函数,也不知道listagg函数. 我们先来看看wm_concat函数能实现什么功能,通俗点==>列传行,如果不明白,请看下面截图(可以看到分隔符默认为','顺序也是杂乱的)          所以,接下来,我们开始重写wm_concat函数(需要注意和需要说明的地方

多列转1列 SqlServer 实现oracle10g的 wmsys.wm_concat()--for xml path('')

有这么一个表 create table tb(id int, value varchar(10)) insert into tb values(1, 'aa') insert into tb values(1, 'bb') insert into tb values(2, 'aaa') insert into tb values(2, 'bbb') insert into tb values(2, 'ccc') insert into tb values(3, 'ddd') insert int

oracle的wm_concat函数实现行转列

有以下数据 deptname phone username isboss 部门A 电话1 员工A 0 部门A 电话1 领导A 1 部门B 电话2 员工B 0 部门B 电话2 员工C 0 部门B 电话2 领导D 1 需要展示效果 deptname phone boss emp 部门A 电话1 领导A 员工A 部门B 电话2 领导D 员工B,员工C 因为是oracle10g的原因,所以使用了wm_concat函数,但对wm_concat结果长度有限制,超出会报ORA-22922:不存在的LOB值,这