powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Логическое сложение
8 сообщений из 8, страница 1 из 1
Логическое сложение
    #32044429
Lovkin_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача в следующем:
есть функция, которая проверяет выборку на наличие трех критических ситуаций. возращает целое число (0..7) в зависимости от комбинации кр. сит. (по битам)
есть ли возможность в PL/SQL организовать лог. слож-е, чтоб на порядок упростить и ускорить алгоритм?
...
Рейтинг: 0 / 0
Логическое сложение
    #32044604
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доку читали?
bitand не устраивает?
...
Рейтинг: 0 / 0
Логическое сложение
    #32044649
Lovkin_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bitand не устраивает (это умножение, а нужно сложение)
:(( bitor ? нет такого...
...
Рейтинг: 0 / 0
Логическое сложение
    #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
Логическое сложение
    #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
Логическое сложение
    #32044897
mishgan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
UTL_RAW.BIT_OR
...
Рейтинг: 0 / 0
Логическое сложение
    #32044941
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2mishgan_

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

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


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