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

А как можно сделать тоже самое в DB2?
...
Рейтинг: 0 / 0
26.10.2005, 10:19
    #33344235
nkulikov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить булевские операции с полями в запросе?
Читаем сначала Cookbook
http://ourworld.compuserve.com/homepages/graeme_birchall/HTM_COOK.HTM
...
Рейтинг: 0 / 0
26.10.2005, 12:32
    #33344666
vick_man
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить булевские операции с полями в запросе?
Так вот читал, но не могу найти ничего подобного в DB2.
...
Рейтинг: 0 / 0
26.10.2005, 14:40
    #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
26.10.2005, 15:10
    #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
26.10.2005, 15:33
    #33345355
vick_man
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить булевские операции с полями в запросе?
Наверно я не так объяснил,
имелось в виду такое выражение:
100 or 16 = 116
112 or 16 = 112
120 or 16 = 120
128 or 16 = 144
...
Рейтинг: 0 / 0
26.10.2005, 15:53
    #33345445
nkulikov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить булевские операции с полями в запросе?
100 + 16 = 116
112 + 16 = 112
120 + 16 = 120
128 + 16 = 144
????
...
Рейтинг: 0 / 0
26.10.2005, 16:25
    #33345558
vick_man
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить булевские операции с полями в запросе?
120+16=120 ???
Это операция OR, а не "+"
...
Рейтинг: 0 / 0
26.10.2005, 16:30
    #33345580
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить булевские операции с полями в запросе?
Придется писать на C
...
Рейтинг: 0 / 0
26.10.2005, 19:07
    #33346101
nkulikov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить булевские операции с полями в запросе?
Я не понимаю вопроса....
...
Рейтинг: 0 / 0
27.10.2005, 08:55
    #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
27.10.2005, 14:16
    #33347660
Und
Und
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить булевские операции с полями в запросе?
на си писать не обязательно:
http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0504greenstein/
...
Рейтинг: 0 / 0
27.10.2005, 15:20
    #33347887
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выполнить булевские операции с полями в запросе?
Undна си писать не обязательно:
http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0504greenstein/
Оно конечно верно, но если речь зайдет о производительности, то я так делать не стал бы.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как выполнить булевские операции с полями в запросе? / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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