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