wmsys.wm_concat //数据库内部函数:把多行转换成一合并列
例如:
-
select b.fchannel_id from sinocms_bindle_channel b where b.channel_id='1000000027'
结果:
1 1000000029
2 1000000030
3 1000000031
4 1000000032
5 1000000033
6 1000000034
把多行转换成一合并列
-
select wmsys.wm_concat(b.fchannel_id) from sinocms_bindle_channel b where b.channel_id='1000000027'
结果:1000000029,1000000030,1000000031,1000000032,1000000033,1000000034
分享到:
相关推荐
ORA-00904 WMSYS.WM_CONCAT标识符无效解决方案
解决ORA-00904: "WMSYS"."WM_CONCAT": 标识符无效 在sqlplus中执行包里的owmctab.plb、owmaggrs.plb、owmaggrb.plb三个脚本即可。 简单来说,用PL/SQL执行下一下几个脚本就可以了。 特别要注意:PL/SQL登录时,要...
重建WMSYS用户的WMSYS.WM_CONCAT函数的3个文件重建WMSYS用户的WMSYS.WM_CONCAT函数的3个文件
功能强大的wmsys.wm_concat详细示例。
Oracle10g之后有些版本已不包含WMSYS.WM_CONCAT函数,若用到此函数, 系统会提示异常:ORA-00904: "WM_CONCAT": invalid identifier 因此需单独重建此函数,方法如下: 解压附件,在sqlplus中执行包里的owmctab....
大家用oracle数据库里面的wmsys.wm_concat函数有没有遇见过字符串缓冲区太小的情况? 针对这种情况我写了个自定义聚合函数 是clob版的。
没有WMSYS.WM_CONCAT方法 需要的文件 owmctab.plb owmaggrs.plb owmaggrb.plb 拷贝三个文件到 $ORACLE_HOME\RDBMS\ADMIN\ 目录下 打开命令行 sqlpus , 用sys 登陆 执行命令 @$ORACLE_HOME\RDBMS\ADMIN\owmctab.plb...
解决ORA-00904: "WMSYS"."WM_CONCAT": 标识符无效 在sqlplus中执行包里的owmctab.plb、owmaggrs.plb、owmaggrb.plb三个脚本即可。
行转列函数,对于学习sql查询的朋友们,可能会遇到这样的要求,此文档中做了详细记载,希望可以帮到你!
ORA-06512 数字或值错误,字符缓冲区太小的解决方法。 有图有真相,希望对你有帮助。
很多场合我们都会用到oracle的列合并,oracle提供了如下一些方法用来实现列合并: 一、Oracle 10G以前使用WMSYS.WM_CONCAT: wmsys.wm_concat将字段的值用”,”来隔开。 select id,wm_concat(name) from tab_name ...
解决方案:使用Oracle自带的函数 WMSYS.WM_CONCAT,进行拼接。 函数限制:它的输出不能超过4000个字节。 为了不让SQL出错,又可以满足业务的需求,超过4000个字节的部分,使用“。。。” 实现SQL如下: 代码如下: ...
WMSYS.WM_CONCAT标识符无效,需要oracle重建WMSYS用户脚本,导入该脚本后可解决该问题
owmaggrb.plb,owmaggrs.plb,owmctab.plb 1、下载三个文件:owmctab.plb 、 ...4、如果执行结果报错,说找不到WMSYS用户,那么执行 @C:\Users\JOYTRAVEL\Desktop\WMSYS用户\owmctab.plb;再执行owmaggrb和owmaggrs。
Oracle 重建WMSYS用户的WMSYS.WM_CONCAT函数
包含owmctab.plb 、 owmaggrs.plb 、 owmaggrb.plb 三个文件,可解决OracleXE中没有WM_CONCAT函数的问题;解决方案如下:1、下载三个文件:owmctab.plb 、 owmaggrs.plb 、 owmaggrb.plb 2、用sqlplus登录:...