溫馨提示×

如何通過oracle split函數(shù)實(shí)現(xiàn)多個(gè)分隔符的處理

小樊
375
2024-08-13 18:48:36
欄目: 云計(jì)算

在Oracle數(shù)據(jù)庫中,可以使用正則表達(dá)式函數(shù)REGEXP_SUBSTR來處理多個(gè)分隔符的情況。以下是一個(gè)示例:

假設(shè)有一個(gè)包含多個(gè)分隔符的字符串,如下所示:

SELECT 'apple, orange; banana| cherry' AS str FROM dual;

我們可以使用REGEXP_SUBSTR函數(shù)來分割這個(gè)字符串,并指定多個(gè)分隔符:

SELECT REGEXP_SUBSTR('apple, orange; banana| cherry', '[^,;| ]+', 1, LEVEL) AS token
FROM dual
CONNECT BY REGEXP_SUBSTR('apple, orange; banana| cherry', '[^,;| ]+', 1, LEVEL) IS NOT NULL;

在上面的例子中,我們使用正則表達(dá)式[^,;| ]+來匹配逗號(hào)、分號(hào)、豎線和空格之外的字符,并且使用CONNECT BY子句來遞歸獲取每個(gè)分割出來的token。執(zhí)行以上查詢可以得到如下結(jié)果:

TOKEN
------
apple
orange
banana
cherry

通過這種方式,我們可以實(shí)現(xiàn)多個(gè)分隔符的處理。

0