• 阿里云河南授权服务中心--[ 阿里云精英级合作伙伴 ]
  • 阿里云河南授权服务中心电话 :0371-56982772

正月十五闹元宵:看SQL大师们用SQL绘制的团圆
发布时间:2018-03-05 10:27

  在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替代写法:

 

 




相关资讯

售前咨询:

0371-56982772