首页 > 解决方案 > 在 oracle 记录的响应中粘贴一个额外的字符

问题描述

我有一个目标,我想选择列表中的前 2 项,最后 2 项,将它们转换为字符串并在它们之间粘贴“→”。我编写了一个代码来查找这些元素并将它们转换为字符串。

select t.DEVNAME
         from ( select t.DEVNAME,   
                       row_number () over (partition by keys order by SEQUENCE) rn_asc, 
                       row_number () over (partition by keys order by SEQUENCE desc) rn_desc 
                               from ASU_DEVICES t
                               where t.keys = 'STIG6JGK' 
             ) t 
where rn_asc <= 2 or rn_desc <= 2 

我的答案:

B
СИЛОС 102
Конвейер 67
Конвейер 66

将所有元素转换为字符串:

select LISTAGG(t.DEVNAME , ',') WITHIN GROUP (ORDER BY 1)
         from ( select t.DEVNAME,   
                       row_number () over (partition by keys order by SEQUENCE) rn_asc, 
                       row_number () over (partition by keys order by SEQUENCE desc) rn_desc 
                               from ASU_DEVICES t
                               where t.keys = 'STIG6JGK' 
             ) t 
where rn_asc <= 2 or rn_desc <= 2 

B,СИЛОС 102,Конвейер 67,Конвейер 66

我想在它们之间加上这个标记“→”,但我无法回答我的请求:

B,СИЛОС 102 → Конвейер 67,Конвейер 66

标签: sqloracleoracle-apex

解决方案



推荐阅读