Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Логическое сложение / 8 сообщений из 8, страница 1 из 1
20.08.2002, 10:20
    #32044429
Lovkin_A
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логическое сложение
Задача в следующем:
есть функция, которая проверяет выборку на наличие трех критических ситуаций. возращает целое число (0..7) в зависимости от комбинации кр. сит. (по битам)
есть ли возможность в PL/SQL организовать лог. слож-е, чтоб на порядок упростить и ускорить алгоритм?
...
Рейтинг: 0 / 0
20.08.2002, 14:57
    #32044604
.dba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логическое сложение
Доку читали?
bitand не устраивает?
...
Рейтинг: 0 / 0
20.08.2002, 16:08
    #32044649
Lovkin_A
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логическое сложение
bitand не устраивает (это умножение, а нужно сложение)
:(( bitor ? нет такого...
...
Рейтинг: 0 / 0
20.08.2002, 17:06
    #32044675
.dba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логическое сложение
>bitand не устраивает (это умножение, а нужно сложение)
>:(( bitor ? нет такого...

ну напиши сам. Можно даже в одну строчку:

a и b - аргументы

decode(bitand(decode(bitand(а,a),0,1,1,0),decode(bitand(b,b),0,1,1,0)),0,1,1,0)
...
Рейтинг: 0 / 0
20.08.2002, 17:46
    #32044698
.dba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логическое сложение
>decode(bitand(decode(bitand(а,a),0,1,1,0),decode(bitand
>(b,b),0,1,1,0)),0,1,1,0)

В принципе, чтоб работало, должно быть так:

decode(bitand(decode(bitand(а,a)+0,0,1,1,0),decode(bitand(b,b)+0,0,1,1,0))+0,0,1,1,0)

Но это только по битам, а если объем вычислений большой, то конечно наилучшим решением является написать функцию на C и использовать в pl/sql как внешнюю процедуру.
...
Рейтинг: 0 / 0
21.08.2002, 13:37
    #32044897
mishgan_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логическое сложение
UTL_RAW.BIT_OR
...
Рейтинг: 0 / 0
21.08.2002, 15:36
    #32044941
.dba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логическое сложение
2mishgan_

Так это ж только для RAW дататипа
...
Рейтинг: 0 / 0
21.08.2002, 16:58
    #32044966
Noname
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логическое сложение
a=number
b=number

bitor(a,b)=a+b-bitand(a,b)
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Логическое сложение / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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