当然,如果真的想写,自己写一个函数也可以(其实就是加一个分隔符,可以用循环的方式也可以用最后一个分隔符去掉的方式),不过这种需求应该不多,至少我没见过几回,所个人觉得必要性不大。还有一种方式是先列转行(说成行转列也行,反正都是旋转90度),然后用wmsys_concat来做 不过不管哪种方式...
SELECT LENGTHB(TRANSLATE('123A','A'||'123A','A')) FROM DUAL;结果是1,这样就计算出A在字段123A出现的次数了。因为不知道你的表和字段名,我用以下模板代替,你自己替换,不清楚再回复我。SELECT id,LENGTHB(TRANSLATE('字段','逗号'||'字段','逗号')) FROM 表;把逗号替换成你要统计的...
如果硬要写一个sql,那么这里才几个逗号,如果逗号很大,那么可能要写很多的decode或者case when,而且不是十分好控制。假如有最多21个逗号,那么你就要写22个decode。这个工作量有点大了吧。写完后,进行行转列,找到username,然后用wm_concat,username合并或者用,最后在根据查到表的id和class的id进行...
select A,LISTAGG(B, ',') WITHIN GROUP(ORDER BY B) B from table group by A上面SQL文可将B列横向输出,以逗号分割,输出顺序按B的值升序排列
这个意思??--截取至 第三个 分号位置,然后抽取第三个分号前面所有数据 SELECT substr('aaa;bbb;ccc;ddd;eee;fff;ggg;',1,INSTR('aaa;bbb;ccc;ddd;eee;fff;ggg;',';',1,3))FROM dual;--结果:aaa;bbb;ccc;
执行 WITH roy AS ( SELECT COl1 = CAST(LEFT(content, CHARINDEX(',', content + ',') - 1) AS NVARCHAR(100)) , Split = CAST(STUFF(content + ',', 1, CHARINDEX(',', content + ','), '') AS NVARCHAR(100)) FROM table1 UNION ALL SELECT COl1 ...
select replace(wmsys.wm_concat(bif_code||','||name||';'),';,',';') from BIS_BIF_INIT;这个函数你不一定有,它是建库时的其中一个关于wmsys的选项,如果没有,想想办法
select id ,listagg( name, ',' ) within group ( order by id ) as name from TABLE_NAME GROUP BY id;
首先,当你运行如下查询:SELECT COLUMN_VALUE FROM TABLE (F_SPLITSTR('A,B,C,D,E,F,G,H', ','));这段代码将返回字符串'A,B,C,D,E,F,G,H'按逗号分隔后的每个元素,作为字符数组的一个元素,如:A, B, C, D, E, F, G, H。其次,另一种形式的调用方式是:SELECT F_SPLIT...
上代码上图 select length('张三,李四,王五,赵六')-length(replace('张三,李四,王五,赵六',','))+1 from dual;