现在有这样一个需求,
    实现一种编码,实现AAAA-ZZZZ的序列变化!
    如:AAAA
        AAAB
        ....
        AAAZ
        AABA
        AABB
        ....
        AABZ
        ....
        ZZZZ  请问,用SQL或PL/SQL该怎么实现? 

解决方案 »

  1.   

    WITH ch AS
     (SELECT chr(LEVEL - 1 + ascii('A')) c FROM dual CONNECT BY LEVEL <= 26)
    SELECT a.c || b.c || c.c || d.c FROM ch a, ch b, ch c, ch d;
      

  2.   

    select chr(trunc((rownum - 1) / 26 / 26 / 26) + 65) ||
           chr(mod(trunc((rownum - 1) / 26 / 26), 26) + 65) ||
           chr(mod(trunc((rownum - 1) / 26), 26) + 65) ||
           chr(mod(rownum - 1, 26) + 65)
      from dual
    connect by rownum < 26 * 26 * 26 * 26;
      

  3.   

    狂顶
    不过有点小问题 connect by 改成小于等于就完美了
      

  4.   

       感谢wildwave和tangren
       问题已经解决了!
       就此结帖!