--oracle è²ä¼¼ä¸æ¯ææ£åå¦å®é¢æ¥,è¿æ¯ç¨ååæè·¯:
--ç®æ å¼2:
WITH TMP AS
(SELECT 'ZB0010+-=-3KFJK(ZB0012S)DLKG-=-ZB0042......ZB0323...' AS STR
FROM DUAL)
SELECT LEVEL AS ID, REGEXP_SUBSTR(STR, 'ZB[0-9]{4}', 1, LEVEL) AS VALUE
FROM TMP
CONNECT BY LEVEL <= REGEXP_COUNT(STR, 'ZB[0-9]{4}');
--ç®æ å¼1:
WITH TMP AS
(SELECT 'ZB0010+-=-3KFJK(ZB0012S)DLKG-=-ZB0042......ZB0323...' AS STR
FROM DUAL)
SELECT LISTAGG(VALUE, ',') WITHIN GROUP(ORDER BY ID)
FROM (SELECT LEVEL AS ID,
REGEXP_SUBSTR(STR, 'ZB[0-9]{4}', 1, LEVEL) AS VALUE
FROM TMP
CONNECT BY LEVEL <= REGEXP_COUNT(STR, 'ZB[0-9]{4}'))æ¥èªï¼æ±å©å¾å°çåç
温馨提示:内容为网友见解,仅供参考