Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / новогодняя ёлка - и Oracle :) / 16 сообщений из 16, страница 1 из 1
03.12.2010, 15:01
    #36993633
zindur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
новогодняя ёлка - и Oracle :)
вдохновением - идеей одного форума :) да и скоро празники :) плюс пятница :) - вот с помощю DML нарисовал ёлку:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
with t1 as (
select level as lev
,rpad(chr( 32 ), 20 -level,chr( 32 ))||lpad('|',level,'*') || lpad(chr( 32 ),level,'*') as elka
from dual tb1
connect by level <=  20 
),
t2 as (
select
case
when
nvl2(prior t1.elka, 1 ,- 1 ) = - 1  and connect_by_root lev <>  1 
then
lpad(chr( 32 ),(( 13 -level+ 4 ) - (level *  3 ))- connect_by_root lev ,chr( 32 ))
||'o '|| lpad(chr( 32 ),level+ 4 ,chr( 32 ))
||trim(t1.elka||lpad(t1.elka,level +  4 ,chr( 32 )) || 'o')
else
t1.elka
end as christmas_tree
from t1
where level <=  5 
connect by prior t1.lev +  2  = t1.lev
)
select *
from t2
where rownum <=  50  

может ещё у кого-то есть свои идеи :) ?

PS: для напряжённых и переживающих: минусы кода знаемс, главное фантазия :)
PS2: Use Only Fixed-Widh Fonts
...
Рейтинг: 0 / 0
03.12.2010, 15:04
    #36993639
bdsm_sql
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
новогодняя ёлка - и Oracle :)
...
Рейтинг: 0 / 0
03.12.2010, 15:07
    #36993647
SQLap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
новогодняя ёлка - и Oracle :)
типа наспех

Код: plaintext
1.
select lpad('*',  17 -rownum, ' ')||lpad('*', rownum, '*') from
(select  1  from dual group by cube( 1 , 1 , 1 , 1 ))
...
Рейтинг: 0 / 0
03.12.2010, 15:11
    #36993672
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
новогодняя ёлка - и Oracle :)
zindurPS2: Use Only Fixed-Widh Fonts
Код: plaintext
1.
set pagesize  54 
...
Рейтинг: 0 / 0
03.12.2010, 15:13
    #36993676
orawish
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
новогодняя ёлка - и Oracle :)
...
Рейтинг: 0 / 0
03.12.2010, 15:18
    #36993690
bdsm_sql
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
новогодняя ёлка - и Oracle :)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT m FROM dual
MODEL
DIMENSION BY ( 0  d)
MEASURES (CAST(NULL AS VARCHAR2( 200 )) m,  0  n)
RULES ITERATE( 20 ) (
  n[iteration_number] = TRUNC(dbms_random.value *  15  +  3 ),
  m[iteration_number] = REPLACE(LPAD(' ',  20  - iteration_number, ' ')
    || LPAD('*', iteration_number, '*') || DECODE(iteration_number,  0 , 'A', '|')
    || LPAD('*', iteration_number, '*'), LPAD('*', n[iteration_number], '*'),
       LPAD('*', n[iteration_number] -  1 , '*') || 'O')
)
...
Рейтинг: 0 / 0
03.12.2010, 15:19
    #36993694
zindur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
новогодняя ёлка - и Oracle :)
orawish,

упс, не знал - спасибо :)
...
Рейтинг: 0 / 0
03.12.2010, 15:27
    #36993724
ы
ы
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
новогодняя ёлка - и Oracle :)
SQLap,

что вы тут со своими парусами лезете на Новый Год?
...
Рейтинг: 0 / 0
03.12.2010, 15:38
    #36993760
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
новогодняя ёлка - и Oracle :)
zindur,

Чего-то много текста
Код: plaintext
1.
2.
3.
select lpad(rpad('*', mod(level- 1 ,  5 )* 3 + 1 ,'*'), 15 )||'|'||reverse(lpad(rpad('*', mod(level- 1 ,  5 )* 3 + 1 ,'*'), 15 ))
from dual
connect by level<= 24 
;
...
Рейтинг: 0 / 0
03.12.2010, 15:45
    #36993783
orawish
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
новогодняя ёлка - и Oracle :)
zindurorawish,

упс, не знал - спасибо :)
на здоровье :)
можно продолжить (в меру фантазии и мироощущения всё равно у каждого получится немножко своя )
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
SQL> set pagesize  0 
SQL> with t as (select ' '||dbms_random.string('X',case when level <  5 
   2                                             then level- 1 
   3                                             else level- 1  - mod( level, 3 )* 2  end) s
   4                from dual
   5             connect by level <  30  )
   6   select lpad(regexp_replace(s,'[^O]','/'), 40 )||'|'||regexp_replace(s,'[^A*]','\') e
   7     from t;
                                       /|\
                                      //|\\
                                     /O/|\\\
                                    ////|\\\\
                                       /|\
                                  //////|\\\\\\
                                   /////|\\\\\
                                    ////|\\\\
                               /////////|\\\\\\\\\
                                ////////|\\\\\\\\
                                 ///////|\\\\\\\
                            ////////O///|\A\\\\\\\\\\
                             ///////////|\\\\\\\\\\\
                              //////////|\\\\\\\\\\
                         //////////////O|\\\\\\\A\\\A\\\
                          //////////////|\\\A\A\\\\\\\\
                           /////////////|\\\\\\\\\\\\\
                      //////////////////|\\\\\\\\\\\\\\\\A\
                       /////////////////|\\\\\\\\\\\\\\\\\
                        ////////////////|\\\\\\\\\\\\\\\\
                   /////////////O//O////|\\\\\\\A\\\\\\\\\\\\\
                    ////////////////////|\\\\\\\\\\\\\\\\\\\\
                     ///////////////////|\\\\\\\\\\\\\\\\\\\
                ////////////////////////|\\\\\\\\\\\\\\\\\\\\\\\\
                 //////////////////O////|\\\\\\\\\\\\\\\\\\\\\\\
                  ////////////O/////////|\\\\\\\\\\\\\\\\\\\\\\
             ///////////////////////////|\\\\\\\\\\\\\\\\\\\\\\\\\\\
              //////////////////////////|\\\\\\\\\\\\\\\\\\\\\\\\\\
               /////////////////////////|\\\\\\\\\\\\\A\\\\\\\\\\\
...
Рейтинг: 0 / 0
03.12.2010, 16:29
    #36993951
zindur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
новогодняя ёлка - и Oracle :)
-2-zindur,

Чего-то много текста

ага :)
так и знал что кто-та заценит :)

извините так получилось :) задумал одно - решил сделать другое - и проста тупо копировал / добавлял ;)
над красотой кода не задумывался - хотел побыстрее получить результат - да и план построения ёлки не смотрел ;)
...
Рейтинг: 0 / 0
03.12.2010, 17:08
    #36994107
SQLap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
новогодняя ёлка - и Oracle :)
ыSQLap,

что вы тут со своими парусами лезете на Новый Год?

Абстрактного уровня мышления у тебя хватило, чтобы постить тут под сереньким.
Уже похвально, но все же стоит развивать его дальше.
...
Рейтинг: 0 / 0
03.12.2010, 17:33
    #36994206
RA\/EN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
новогодняя ёлка - и Oracle :)
orawish,

А игрушки почему не перемешаны? Непорядок!
...
Рейтинг: 0 / 0
03.12.2010, 18:59
    #36994427
orawish
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
новогодняя ёлка - и Oracle :)
RA\/ENorawish,

А игрушки почему не перемешаны? Непорядок!
ну я же говорю - у каждого своя :)
...
Рейтинг: 0 / 0
03.12.2010, 19:12
    #36994454
orawish
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
новогодняя ёлка - и Oracle :)
RA\/EN,
а, пожалуй, эстетичнее если перемешать

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
set pagesize  0 
with t as (select ' '||dbms_random.string('X',case when level <  5 
                                          then level- 1 
                                          else level- 1  - mod( level, 3 )* 2  end) s
             from dual
          connect by level <  30  )
select translate(lpad(regexp_replace(s,'[^AB]','/'), 40 )||'|'||regexp_replace(s,'[^CD]','\'),'ABCD','OAOA') e
  from t;

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
                                       /|\
                                      /O|\\
                                     ///|\\\
                                    ////|\\\\
                                       /|\
                                  //////|\\\\\\
                                   /////|\\\\\
                                    ////|\\\\
                               //////O/O|\\\\A\\\\
                                ////////|\\\\\\\\
                                 ///////|\\\\\\\
                            //A////O////|\\\\A\\\\\\\
                             ///////////|\\\\\\\\\\A
                              //////////|\\\\A\\\\\
                         ///////O///////|\\\\\\\\\\\\\\\
                          //////////////|\\\\\\A\\\\\\\
                           ///A/O///////|\\\\\\\O\A\\\
                      ////////////////O/|\\\\\\\\\\\O\\\\\\
                       /////////////////|\\\\\\\\\\\\\\O\\
                        //////////A/////|\\\\\\\A\\\\\\\\
                   /////////////////////|\\A\\\\\\\\\\\\\\\\O\
                    /////OA/O///////////|\\\\A\\\\\\\\\\\\O\\
                     ///////////////////|\\\\\\\\\\\\\\O\A\\
                ////////////////////////|\\\\\\\\\\\\A\\\\\\\\\\\
                 ///A///////////////////|\\\\\\A\\\\\\\\\\\\\\\\
                  /O///////O////////////|\\\\\\\\\\\\\\\\\\\\\\
             //A////////////////////////|\\\\\\\\\\\\\\\\\\\\\\\\\A\
              //////////////////A/A/////|\\\\\\\\\\\\\\\\\\\\\\\\\\
               //////O//////////O///////|\\\\\\\\\\\\\\\\\\\\\\\\\
...
Рейтинг: 0 / 0
03.12.2010, 19:25
    #36994472
ы
ы
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
новогодняя ёлка - и Oracle :)
SQLap,

Дядя, не надо тут маленьких обижать.
А то накидал какой-то код не по теме и еще возмущается...
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / новогодняя ёлка - и Oracle :) / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]