powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как выполнить булевские операции с полями в запросе?
13 сообщений из 13, страница 1 из 1
Как выполнить булевские операции с полями в запросе?
    #33343696
vick_man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В Postgres есть к примеру такая вещь
select field1 | 1 from table1
Т.е. <значение из field1> or 1

А как можно сделать тоже самое в DB2?
...
Рейтинг: 0 / 0
Как выполнить булевские операции с полями в запросе?
    #33344235
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Читаем сначала Cookbook
http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM
...
Рейтинг: 0 / 0
Как выполнить булевские операции с полями в запросе?
    #33344666
vick_man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так вот читал, но не могу найти ничего подобного в DB2.
...
Рейтинг: 0 / 0
Как выполнить булевские операции с полями в запросе?
    #33345141
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
COALESCE?

with temp (id,i) as (values(1,null),(2,2),(3,3))

SELECT id,i ,COALESCE(i,0) FROM temp
...
Рейтинг: 0 / 0
Как выполнить булевские операции с полями в запросе?
    #33345254
Herr Developer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nkulikovCOALESCE?

with temp (id,i) as (values(1,null),(2,2),(3,3))

SELECT id,i ,COALESCE(i,0) FROM temp
Можно еще VALUE scalar function
The VALUE function returns the first argument that is not null.
VALUE is a synonym for COALESCE.
:-)
...
Рейтинг: 0 / 0
Как выполнить булевские операции с полями в запросе?
    #33345355
vick_man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наверно я не так объяснил,
имелось в виду такое выражение:
100 or 16 = 116
112 or 16 = 112
120 or 16 = 120
128 or 16 = 144
...
Рейтинг: 0 / 0
Как выполнить булевские операции с полями в запросе?
    #33345445
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
100 + 16 = 116
112 + 16 = 112
120 + 16 = 120
128 + 16 = 144
????
...
Рейтинг: 0 / 0
Как выполнить булевские операции с полями в запросе?
    #33345558
vick_man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
120+16=120 ???
Это операция OR, а не "+"
...
Рейтинг: 0 / 0
Как выполнить булевские операции с полями в запросе?
    #33345580
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Придется писать на C
...
Рейтинг: 0 / 0
Как выполнить булевские операции с полями в запросе?
    #33346101
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я не понимаю вопроса....
...
Рейтинг: 0 / 0
Как выполнить булевские операции с полями в запросе?
    #33346536
golsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 nkulikov
Речь едет о побитных операциях:
0 OR 0 = 0, 0 OR 1 = 1, 1 OR 0 =1, 1 OR 1 = 1
0 XOR 0 = 0, 0 XOR 1 = 1, 1 XOR 0 =1, 1 XOR 1 = 0
0 AND 0 = 0, 0 AND 1 = 0, 1 AND 0 =0, 1 AND 1 = 1


2 vick_man
В чистом виде можно только выделить бит:
(Field mod 32) mod 2
это для 5 бита - 2**5 = 32

А OR, XOR и AND можно реализовать самому через пользовательскую функцию написанную на С или любом другом языке позволяющем делать DLL.
...
Рейтинг: 0 / 0
Как выполнить булевские операции с полями в запросе?
    #33347660
Und
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Und
Гость
на си писать не обязательно:
http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0504greenstein/
...
Рейтинг: 0 / 0
Как выполнить булевские операции с полями в запросе?
    #33347887
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Undна си писать не обязательно:
http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0504greenstein/
Оно конечно верно, но если речь зайдет о производительности, то я так делать не стал бы.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как выполнить булевские операции с полями в запросе?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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