Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 55 56 57 58 59 [60] 61 62 63 64 .. 92   вперед  Ctrl
 Re: Извините за офтоп. Просто посмеяться  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6712
Гуглохром обновился до 10-й версии и... перестал показывать все версии старше 10g на download.oracle.com
Скриншот в атаче

К сообщению приложен файл. Размер - 121Kb
9 мар 11, 16:08    [10344411]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
брадобрей
Member

Откуда:
Сообщений: 4696
env
Гуглохром обновился до 10-й версии и... перестал показывать все версии старше 10g на download.oracle.com
Скриншот в атаче

ха действительно
9 мар 11, 16:16    [10344516]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6712
ждём гуглохром 11 Картинка с другого сайта.
9 мар 11, 16:19    [10344539]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 63939
Блог
(все побежали обновляться и проверять)
9 мар 11, 16:19    [10344549]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6712
env,
А ларчик просто открывался. Для таблицы с 11g тег table на этой странице генерится (или задан) как

table cellpadding="3" width="100%" hidden="" border-width="" border-style=""
9 мар 11, 16:38    [10344695]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
брадобрей
Member

Откуда:
Сообщений: 4696
опять оракл накосячил,
всё у них через задницу
9 мар 11, 16:40    [10344702]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
-2-
Member

Откуда:
Сообщений: 15330
брадобрей
опять оракл накосячил
Оракул непогрешим. В хромогугле должны были принять за аксиому - пустая строка есть NULL, а не указатель на '\0', интерпретируемый как TRUE.
9 мар 11, 17:00    [10344822]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 5151
Набрел на просторах инета на тему (EAV Hell), где чел от неумения писать запросы добился 22-мя self join ожидаемой кардинальности 31P = 31 * (1000)5 строк и сильно жалуется на архитектуру.
Самое забавное, что желаемый набор данных получается без единого соединения.
14 мар 11, 13:49    [10366781]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
wurdu
Member

Откуда: Владивосток
Сообщений: 4441
dbms_photoshop
Набрел на просторах инета на тему (EAV Hell), где чел от неумения писать запросы добился 22-мя self join ожидаемой кардинальности 31P = 31 * (1000)5 строк и сильно жалуется на архитектуру.
Самое забавное, что желаемый набор данных получается без единого соединения.
Такие люди придумали NoSQL :)
14 мар 11, 13:52    [10366804]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 5151
wurdu
Такие люди придумали NoSQL :)
Да не, он же ж наоборот придуман для примитивных запросов.
А такие люди закупают раки, partition option и прочее пачками. :)
14 мар 11, 14:16    [10366985]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
Деев И.
Member

Откуда: отсюда
Сообщений: 783
Обновленная статья C.Millsap Mastering Performance with Oracle Extended SQL Trace

TRACING TRAPS
Oracle microseconds. A microsecond is
1/1,000,000th of a second, or 1,000 nanoseconds. It may surprise you to learn that, on some platforms, an
Oracle microsecond is 1,024 nanoseconds, or 1/976,563th of a second. Being off by 2.4% may not
sound like too big of a problem, but if you want to regard an Oracle tim value as a number of
microseconds that have elapsed since the Unix epoch (1970J01J01T00:00:00.000000Z in ISO 8601 form),
you need to multiply your tim value by 1.024 before calculating the date and time it represents. Otherwise,
for tim values generated in 2011, you will be off by almost a year.
15 мар 11, 11:25    [10371341]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
Rostislav74
Member

Откуда:
Сообщений: 138
Алексей (59-04), 30.03.2011 10:41:29:

Помоги с запросом...
Почему у меня не работает конструкция??

update tmp_reports_protocol t1
set t1.text = (execute immediate 'select ' || substr(t1.text, 2) || ' from dual');

...не знал что ответить...
30 мар 11, 09:28    [10443284]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
ALocky
Member

Откуда: Понаехал из Подмосковья
Сообщений: 747
Rostislav74,

Вот интересно, как сие рождается в головах?
30 мар 11, 09:56    [10443417]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
suPPLer
Member

Откуда: Харків, Україна
Сообщений: 7794
Блог
ALocky,

разработчик мог раньше работать с языками, в которых есть препроцессор, подстановки и интерпретация: VFP, PHP, скрипты sh... А мог пока и не догадываться, что такое интерпретация, компиляция и препроцессор. :)
1 апр 11, 01:17    [10454668]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54381
       CASE
           WHEN (LENGTH(DM.OTCHET) < 100) THEN SUBSTR(DM.OTCHET, 1, 100)
           WHEN (LENGTH(DM.OTCHET) >= 100) AND (LENGTH(DM.OTCHET) < 300) THEN SUBSTR(DM.OTCHET, 1, 300)
           WHEN (LENGTH(DM.OTCHET) >= 300) AND (LENGTH(DM.OTCHET) < 600) THEN SUBSTR(DM.OTCHET, 1, 600)
           ELSE SUBSTR(DM.OTCHET, 1, 1000)
       END OTCHET
грустно
1 апр 11, 10:52    [10455579]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
Tolka
Member

Откуда:
Сообщений: 199
сдаётся мне хотели написать что-то в стиле

andreymx
       CASE
           WHEN (LENGTH(DM.OTCHET) < 100) THEN SUBSTR(DM.OTCHET, 1, 100)
           WHEN (LENGTH(DM.OTCHET) >= 100) AND (LENGTH(DM.OTCHET) < 300) THEN SUBSTR(DM.OTCHET, 100, 300)
           WHEN (LENGTH(DM.OTCHET) >= 300) AND (LENGTH(DM.OTCHET) < 600) THEN SUBSTR(DM.OTCHET, 300, 600)
           ELSE SUBSTR(DM.OTCHET, 1, 1000)
       END OTCHET
грустно


но мне больше всего грустно в этом куске кода от названия поля - OTCHET... )))
5 апр 11, 01:51    [10471032]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
Vint
Member

Откуда: Москва
Сообщений: 4564
Tolka
сдаётся мне хотели написать что-то в стиле

Хреновый у Вас хрустальный шар.
5 апр 11, 10:23    [10471718]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
Exotic
Member

Откуда: Новороссийск
Сообщений: 322
Tolka, похоже, автор?
А кейс да, хорош...
5 апр 11, 10:25    [10471725]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
Tolka
Member

Откуда:
Сообщений: 199
Exotic,

нет. я не автор

Vint,

просветите, что задумывалось в этом куске кода?


как вариант ещё могу добавить, что данные не нормализованы, если в зависимости от длинны выбирается различный срез
5 апр 11, 14:25    [10473822]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
dbms_photoshop
Member

Откуда: sqlmdx.net
Сообщений: 5151
Tolka
просветите, что задумывалось в этом куске кода?
Что задумывалось может сказать только автор, ну в крайнем случае andreymx. По крайней мере case можно упростить до:
SUBSTR(DM.OTCHET, 1, 1000) OTCHET
В твоих же догадках нелогичным является следующее:
Tolka
сдаётся мне хотели написать что-то в стиле

andreymx
       CASE
           WHEN (LENGTH(DM.OTCHET) < 100) THEN SUBSTR(DM.OTCHET, 1, 100) -- здесь достаточно DM.OTCHET
           WHEN (LENGTH(DM.OTCHET) >= 100) AND (LENGTH(DM.OTCHET) < 300) THEN SUBSTR(DM.OTCHET, 100, 300) -- здесь второй параметр излишний
           WHEN (LENGTH(DM.OTCHET) >= 300) AND (LENGTH(DM.OTCHET) < 600) THEN SUBSTR(DM.OTCHET, 300, 600) -- здесь второй параметр излишний
           ELSE SUBSTR(DM.OTCHET, 1, 1000) -- а почему здесь ты не заменил единичку как это сделал для предыдущих двух веток?
       END OTCHET
грустно
5 апр 11, 15:06    [10474237]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
Tolka
Member

Откуда:
Сообщений: 199
dbms_photoshop
Что задумывалось может сказать только автор, ну в крайнем случае andreymx. По крайней мере case можно упростить до:
SUBSTR(DM.OTCHET, 1, 1000) OTCHET


можно. но автор, думаю, этого не хотел. Он хотел различный кусок данных в зависимости от длинны.

я исправил его код не трогая его семантику

да. последний параметр можно убрать.

про else - я также подумал, что это часть логики. если за 600 - выбираем всё. поэтому и не тронул.

ещё раз, чтобы меня поняли: я не оптимизировал выражение. а всего лишь предположил, что хотел автор
5 апр 11, 15:31    [10474441]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54381
dbms_photoshop
Tolka
просветите, что задумывалось в этом куске кода?
Что задумывалось может сказать только автор, ну в крайнем случае andreymx.
да я сам опупел
:)
5 апр 11, 15:31    [10474444]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
Bogdanov Andrey
Member

Откуда: Да уже и сам не знаю...
Сообщений: 2203
Tolka
просветите, что задумывалось в этом куске кода?
В качестве предположения намерений автора могу высказать следующее - как известно select x from table и select substr(x,1,1) from table дают разную декларируемую длину результата. Для некоторых языков это может быть важным. Несомненно, в данном случае эффект не достигнут.
5 апр 11, 17:08    [10475315]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
Vint
Member

Откуда: Москва
Сообщений: 4564
Tolka
Он хотел различный кусок данных в зависимости от длинны.

ну вот ОТКУДА Вы это взяли? я ж говорил выше у Вас хреновый хрустальный шар))
Tolka
я исправил его код не трогая его семантику
я не оптимизировал выражение. а всего лишь предположил, что хотел автор

[/quot]
хаха)) вы додумали непонятно что на основании своих домыслов)
6 апр 11, 11:08    [10477766]     Ответить | Цитировать Сообщить модератору
 Re: Извините за офтоп. Просто посмеяться  [new]
Exotic
Member

Откуда: Новороссийск
Сообщений: 322
Tolka
...
ещё раз, чтобы меня поняли: я не оптимизировал выражение. а всего лишь предположил, что хотел автор

А можно мне? Можно мне???

Мой вариант добиться того, чего как бы хотел автор, но Tolka постарался искаверкать. Не меняя ни подхода, ни семантики:
 CASE
   WHEN (LENGTH(DM.OTCHET) < 100) THEN
    SUBSTR(DM.OTCHET, 1, 100)
   WHEN (LENGTH(DM.OTCHET) >= 100) AND (LENGTH(DM.OTCHET) < 300) THEN
    SUBSTR(DM.OTCHET, 1, 99) || SUBSTR(DM.OTCHET, 100, LENGTH(DM.OTCHET) - 99)
   WHEN (LENGTH(DM.OTCHET) >= 300) AND (LENGTH(DM.OTCHET) < 600) THEN
    SUBSTR(DM.OTCHET, 1, 299) || SUBSTR(DM.OTCHET, 300, LENGTH(DM.OTCHET) - 299)
   ELSE
    SUBSTR(DM.OTCHET, 1, 1000)
 END OTCHET
Вот теперь получилось исправить вариант Tolka, получив результат, идентичный выдаваемому изначальному кейсу. Будут ли варианты бредовее?
6 апр 11, 11:58    [10478170]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 55 56 57 58 59 [60] 61 62 63 64 .. 92   вперед  Ctrl
Все форумы / Oracle Ответить