Decode360's Blog

          業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
            397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
          打印五環和五角星的SQL代碼
          ?
          ?
          ??? 大牛寫的這兩段SQL實在是太銷魂了,實在是忍不住要轉載過來,留著以后慢慢看,太牛了……
          ??? http://www.itpub.net/viewthread.php?tid=981654&extra=&page=1
          ?
          ?
          ?
          with a as (select distinct round(a.x + b.x) x,round(a.y + b.y) y from
          (select (sum(x) over(order by n)) x,
          ??????????????????????????? round(sum(y) over(order by n)) y
          ????????????? from (select n, cos(n/30 * 3.1415926)*2? x,
          ?????????????????????????? sin(n/30 * 3.1415926) y
          ?????????????????????????? from (select rownum - 1 n from all_objects where rownum <= 30 +30))) a,
          ??????????? (select n, (sum(x) over(order by n)) x,
          ??????????????????????????? round(sum(y) over(order by n)) y
          ????????????? from (select n,
          ?????????????????????????? cos( m /3 * 3.1415926) * 2 * 15 x,
          ?????????????????????????? sin( m /3 * 3.1415926)* 15 y
          ????????????????????? from (select case when rownum <= 2 then 3
          ????????????????????? when rownum = 3 then -2 else -6 end m, rownum - 1 n
          ????????????????????????????? from all_objects where rownum <= 5))) b
          ????????? )
          select replace(sys_connect_by_path(point, '/'), '/', null) star
          ? from (select b.y, b.x, decode(a.x, null, ' ', '*') point
          ????????? from a,
          ?????????????? (select *
          ????????????????? from (select rownum - 1 + (select min(x) from a) x
          ????????????????????????? from all_objects
          ???????????????????????? where rownum <= (select max(x) - min(x) + 1 from a)),
          ?????????????????????? (select rownum - 1 + (select min(y) from a) y
          ????????????????????????? from all_objects
          ???????????????????????? where rownum <= (select max(y) - min(y) + 1 from a))) b
          ???????? where a.x(+) = b.x
          ?????????? and a.y(+) = b.y)
          where x = (select max(x) from a)
          start with x = (select min(x) from a)
          connect by y = prior y
          ?????? and x = prior x + 1;
          ?
          ?

          ????????????? * * * * * *?????????????????? * * * * * *?????????????????? * * * * * *?????????????
          ????????? * *???????????? * *?????????? * *???????????? * *?????????? * *???????????? * *?????????
          ?????? * *?????????????????? * *???? * *?????????????????? * *???? * *?????????????????? * *??????
          ???? *?????????????????????????? * *?????????????????????????? * *?????????????????????????? *????
          ?? **??????????????????????????? ***?????????????????????????? ***??????????????????????????? **??
          ? *???????????????????????????? *?? *???????????????????????? *?? *???????????????????????????? *?
          *???????????????????????????? *???? *?????????????????????? *???? *???????????????????????????? *
          *???????????????????????????? *???? *?????????????????????? *???? *???????????????????????????? *
          *???????????????????????????? *?????? *???????????????????? *?????? *???????????????????????????? *
          *???????????????????????????? *?????? *???????????????????? *?????? *???????????????????????????? *
          *???????????????????????????? *?????? *???????????????????? *?????? *???????????????????????????? *
          *???????????????????????????? *?????? *???????????????????? *?????? *???????????????????????????? *
          *???????????????????????????? *???? *?????????????????????? *???? *???????????????????????????? *
          *?????????????????????????? * * * * * *?????????????????? * * * * * *?????????????????????????? *
          ? *????????????????????? * *??? *?? *??? * *?????????? * *??? *?? *??? * *????????????????????? *?
          ?? *????????????????? * *??????? * *??????? * *???? * *??????? * *??????? * *????????????????? *??
          ??? **????????????? *??????????? ***??????????? * *??????????? ***??????????? *????????????? **???
          ?????? *????????? **?????????? *???? *????????? ***????????? *???? *?????????? **????????? *??????
          ???????? ** *??? *??????? * **???????? ** *??? *?? *??? * **???????? ** *??????? *??? * **????????
          ????????????? * * * * * *?????????????????? * * * * * *?????????????????? * * * * * *?????????????
          ??????????????? *???????????????????????????? *???? *???????????????????????????? *???????????????
          ?????????????? *???????????????????????????? *?????? *???????????????????????????? *??????????????
          ?????????????? *???????????????????????????? *?????? *???????????????????????????? *??????????????
          ?????????????? *???????????????????????????? *?????? *???????????????????????????? *??????????????
          ?????????????? *???????????????????????????? *?????? *???????????????????????????? *??????????????
          ??????????????? *???????????????????????????? *???? *???????????????????????????? *???????????????
          ??????????????? *???????????????????????????? *???? *???????????????????????????? *???????????????
          ???????????????? *???????????????????????????? *?? *???????????????????????????? *????????????????
          ????????????????? *???????????????????????????? * *???????????????????????????? *?????????????????
          ?????????????????? **?????????????????????????? ***?????????????????????????? **??????????????????
          ????????????????????? *?????????????????????? *???? *?????????????????????? *?????????????????????
          ??????????????????????? ** *???????????? * **???????? ** *???????????? * **???????????????????????
          ???????????????????????????? * * * * * *?????????????????? * * * * * *????????????????????????????
          ?
          ?
          with a as (
          ??????????? select distinct round(sum(x) over(order by n)) x,
          ??????????????????????????? round(sum(y) over(order by n)) y
          ????????????? from (select n,
          ?????????????????????????? cos(trunc(n / 20) * (1-1/5) * 3.1415926) * 2 x,
          ?????????????????????????? sin(trunc(n / 20) * (1-1/5) * 3.1415926) y
          ????????????????????? from (select rownum - 1 n from all_objects where rownum <= 20 * 5))
          ????????? )
          select replace(sys_connect_by_path(point, '/'), '/', null) star
          ? from (select b.y, b.x, decode(a.x, null, ' ', '*') point
          ????????? from a,
          ?????????????? (select *
          ????????????????? from (select rownum - 1 + (select min(x) from a) x
          ????????????????????????? from all_objects
          ???????????????????????? where rownum <= (select max(x) - min(x) + 1 from a)),
          ?????????????????????? (select rownum - 1 + (select min(y) from a) y
          ????????????????????????? from all_objects
          ???????????????????????? where rownum <= (select max(y) - min(y) + 1 from a))) b
          ???????? where a.x(+) = b.x
          ?????????? and a.y(+) = b.y)
          where x = (select max(x) from a)
          start with x = (select min(x) from a)
          connect by y = prior y
          ?????? and x = prior x + 1;



          ??????????????????? *???????????????????
          ?????????????????? * *??????????????????
          ?????????????????? * *??????????????????
          ????????????????? *?? *?????????????????
          ???????????????? **?? **????????????????
          ??????????????? *?????? *???????????????
          ??????????????? *?????? *???????????????
          * * * * * * * *** * * * *** * * * * * * *
          ? **????????? *?????????? *????????? **?
          ???? **?????? *?????????? *?????? **????
          ??????? *??? *???????????? *??? *???????
          ????????? ** *???????????? * **?????????
          ??????????? ** *???????? * **???????????
          ?????????? *??? * *?? * *??? *??????????
          ?????????? *?????? * *?????? *??????????
          ????????? *????? * * * *????? *?????????
          ???????? *??? * *?????? * *??? *????????
          ???????? *? *?????????????? *? *????????
          ??????? ** *???????????????? * **???????
          ??????? *?????????????????????? *???????
          ?
          ?
          ?
          ?
          posted on 2008-11-01 19:47 decode360 閱讀(416) 評論(0)  編輯  收藏 所屬分類: 05.SQL
          主站蜘蛛池模板: 盈江县| 辛集市| 上林县| 孝感市| 大田县| 甘德县| 珲春市| 定州市| 子洲县| 苏州市| 大荔县| 印江| 延庆县| 巴马| 阿城市| 阿坝| 武功县| 米林县| 淮滨县| 谷城县| 平遥县| 郎溪县| 舒城县| 都兰县| 肥西县| 岢岚县| 宜章县| 建湖县| 湾仔区| 新泰市| 略阳县| 大方县| 花莲县| 郑州市| 营山县| 桂阳县| 富宁县| 宾川县| 巴青县| 湟源县| 陕西省|