这段Merry christmas的查询来源于 Gilles Haro的博客,不过看到的时候已经是27号了,呵呵!
with Mx as
 (select 60 as MaxWidth from dual)
select decode (sign(floor(MaxWidth / 2) - rownum), 1, lpad(' ',
                                              floor(MaxWidth / 2) -
                                              (rownum - 1)) || rpad('*',
                                                      2 *
                                                      (rownum - 1) + 1,
                                                      ' *'), lpad('* * *',
                                                    floor(MaxWidth / 2) + 3))
  from all_tables, Mx
 where rownum < floor(MaxWidth / 2) + 6;


                              *
                             * *
                            * * *
                           * * * *
                          * * * * *
                         * * * * * *
                        * * * * * * *
                       * * * * * * * *
                      * * * * * * * * *
                     * * * * * * * * * *
                    * * * * * * * * * * *
                   * * * * * * * * * * * *
                  * * * * * * * * * * * * *
                 * * * * * * * * * * * * * *
                * * * * * * * * * * * * * * *
               * * * * * * * * * * * * * * * *
              * * * * * * * * * * * * * * * * *
             * * * * * * * * * * * * * * * * * *
            * * * * * * * * * * * * * * * * * * *
           * * * * * * * * * * * * * * * * * * * *
          * * * * * * * * * * * * * * * * * * * * *
         * * * * * * * * * * * * * * * * * * * * * *
        * * * * * * * * * * * * * * * * * * * * * * *
       * * * * * * * * * * * * * * * * * * * * * * * *
      * * * * * * * * * * * * * * * * * * * * * * * * *
     * * * * * * * * * * * * * * * * * * * * * * * * * *
    * * * * * * * * * * * * * * * * * * * * * * * * * * *
   * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
                            * * *
                            * * *
                            * * *
                            * * *
                            * * *
                            * * *