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
          主站蜘蛛池模板: 洪洞县| 平邑县| 新疆| 吴川市| 汤原县| 洱源县| 芮城县| 辉南县| 舒兰市| 三河市| 平舆县| 镇坪县| 青神县| 永清县| 海原县| 莱阳市| 福泉市| 信丰县| 宁夏| 富民县| 张家界市| 前郭尔| 青州市| 湘潭县| 康定县| 香格里拉县| 饶阳县| 黄大仙区| 平乡县| 游戏| 宜州市| 仙居县| 张家川| 阆中市| 泽州县| 德保县| 高邑县| 舞阳县| SHOW| 永城市| 林周县|