|
p; 22 42 58 70 56 38 16 23 43 59 71 79 69 55 37 15 24 44 60 72 80 84 78 68 54 36 14 1 25 45 61 73 81 85 83 77 67 53 35 13 2 26 46 62 74 82 76 66 52 34 12 3 27 47 63 75 65 51 33 11 4 28 48 64 50 32 10 5 29 49 31 9 6 30 8 7
-------------------------------------------------------------------------------- 想来是的, 这样你看如何?
代码:-------------------------------------------------------------------------------- 1 select replace(max(sys_connect_by_path(rank, '''','''')), '''','''') str 2 from (select i, j, 3 to_char(rank() over(order by tag), ''''9999'''') as rank 4 from (select i, 5 j, 6 -- 逆时针螺旋特征码 counter-clockwise 7 case least(j - 1, &&1 - i, &1 - j, i - 1) 8 when j - 1 then 9 (j - 1) || ''''1'''' || i 10 when &1 - i then 11 (&1 - i) || ''''2'''' || j 12 when &1 - j then 13 (&1 - j) || ''''3'''' || (&1 - i) 14 when i - 1 then 15 (i - 1) || ''''4'''' || (&1 - j) 16 end as tag 17 from (select level as i from dual connect by level <= &1) a, 18 (select level as j from dual connect by level <= &1) b 19 ) 20 ) 21 start with j = 1 22 connect by j - 1 = prior j and i = prior i 23 group by i 24* order by i SQL> / 输入 1 的值: 5 原值 7: case least(j - 1, &&1 - i, &1 - j, i - 1) 新值 7: case least(j - 1, 5 - i, 5 - j, i - 1) 原值 10: when &1 - i then 新值 10: when 5 - i then 原值 11: (&1 - i) || ''''2'''' || j 新值 11: (5 - i) || ''''2'''' || j 原值 12: when &1 - j then 新值 12: when 5 - j then 原值 13: (&1 - j) || ''''3'''' || (&1 - i) 新值 13: (5 - j) || ''''3'''' || (5 - i) 原值 15: (i - 1) || 上一页 [1] [2] [3] [4] [5] [6] 下一页 [电脑技术]使用?和*两个通配符迅速批量(搜索)查找文件 [聊天工具]快速又高效 用Email免费发送网络传真__天极Yesky [常用软件]网管工具 用OH协助服务器进行安全监控 [常用软件]留住精彩 用“数码故事”制作DVD光碟 [常用软件]小块头有大智慧 用Nero轻松设计个性化光盘 [常用软件]技高一筹 用Winamp播放影碟 [VB.NET程序]用 VB 实现表单的自动提交 [VB.NET程序]用 VB 打开任意盘(硬盘/U盘/光盘)的文件. [VB.NET程序]用 VB 创建MS OFFICE的 COM 加载项 [VB.NET程序]如 何 用 API 播 放 CD
|