2

pl/sql で文字列をトークン化し、一意のトークンのみを返す必要があります。文字列をトークン化する例を見てきましたが、一意のトークンを返す例はありません。

たとえば、クエリ -

select tokenize('hi you person person', ' ') as col1 from dual;

戻るべきTOKEN_LIST('hi','you','person')

それ以外のTOKEN_LIST('hi','you','person','person')

4

1 に答える 1

6
with t as (select 'aaaa bbbb cccc dddd eeee ffff aaaa' as txt from dual)
-- end of sample data
select DISTINCT REGEXP_SUBSTR (txt, '[^[:space:]]+', 1, level) as word
from t
connect by level <= length(regexp_replace(txt,'[^[:space:]]+'))+1;

上記のスクリプトは、次の結果を生成します。

WORD
dddd
eeee
bbbb
ffff
cccc
aaaa

アイデアは、OTN Community answerから恥知らずに盗まれました。

SQL フィドル

于 2013-10-04T18:14:44.753 に答える