隣接する 2 つの文字 (a から z) が同じ大文字と小文字になってはならないという条件があります。に変更helloworld
する必要がありHeLlOwOrLd
、次のようなクエリを使用しました。
SELECT listagg(jumping_char,'') WITHIN GROUP(ORDER BY rn) jumped_word
FROM
(SELECT rn,
CASE
WHEN mod(rn, 2) = 1
THEN upper(split_word)
ELSE lower(split_word)
END jumping_char
FROM
(SELECT regexp_substr('helloworld','.',LEVEL)split_word,
ROWNUM rn
FROM dual
CONNECT BY LEVEL <= LENGTH('helloworld')
)
);
hello2world
これで、 should become のような文字列ができましたHeLlO2wOrLd
。単純なさまざまなクエリを歓迎します。事前に感謝します。