在ITPUB论坛里,一群SQL爱好者们会用SQL来描摹一切可能。请看如下这段SQL,为大家绘制了团团圆圆的五连环:
这段SQL在Oracle中输出了下图,请用SQL执行:
好吧,这是五个连环,事实上是奥运会的五环旗,在庆祝奥运期间,网友 nyfor 的随手创作。
再看如下一段SQL,则是输出了一个五角星:
这个SQL的解释如下:
其中数字20表示五角星每一条边上的点的个数(你也可以设置的大一些或小一些), 其中的数字5表示五角星的边数, 其中的数字2是为了调整横向字符间距与纵向行距之间的差异而设置的, 你也可以不乘以这个2, 这里只是为了输出稍微好看一些.
调整期中数字5, 你还可以输出7角星, 9角星.... 注意我的SQL不能输出6角星,8角星,因为我的SQL算法中是以一笔画能够画成的星为基础设计的算法的.
比如,以下是7角形输出:
在一轮讨论之后,newkid 大神给出了一个系列的SQL改写,小编就列举如下。
SQL一:
SQL二:
SQL三:
SQL四:
SQL五:
SQL六 - 利用wmsys.wm_concat的写法其实更简单:
SQL之七 - wmsys.wm_concat的connect by替代写法:
本文作者:Nyfor&Newkid
网友评论