sql结果集某列值显示如下:

'00010430, 00228290, 07046884,07046884, 07383953'

希望显示的结果

'00010430, 00228290,07046884, 07383953'

新建一个function 实现此功能

create or replace

FUNCTION "SF_SPLIT_ACCOUNT_ID_LIST" (

account_id_list IN VARCHAR2

)RETURN VARCHAR2 AS

v_account_id_list VARCHAR2(5000);

BEGIN

WITH ACCTS AS (

SELECT DISTINCT str from (

SELECT REGEXP_SUBSTR(replace(account_id_list,', ',','), '[^,]+', 1, LEVEL, 'i') AS STR

FROM DUAL

CONNECT BY LEVEL <=

LENGTH(replace(account_id_list,', ',','))

- LENGTH(REGEXP_REPLACE(replace(account_id_list,', ',','), ',', ''))+1))

SELECT wm_concat(STR) INTO v_account_id_list FROM ACCTS;

RETURN v_account_id_list;

END SF_SPLIT_ACCOUNT_ID_LIST;

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐