没有两个相邻字符(从 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
应该变成的字符串HeLlO2wOrLd
。任何简单的,不同的查询表示赞赏并提前感谢。