powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Поразрядное логическое OR
10 сообщений из 10, страница 1 из 1
Поразрядное логическое OR
    #32060286
Alex Alexeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно как-нибудь выполнить поразрядное OR по некоторому полю. Например поле содержит значения:

Int_Value
1
2
1
4

а получиться должно 7
...
Рейтинг: 0 / 0
Поразрядное логическое OR
    #32060288
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
declare @t table (i int)
declare @result int
set @result =  1 
insert @t values ( 1 )
insert @t values ( 3 )
insert @t values ( 1 )
insert @t values ( 4 )
select @result = @result | i from @t
select @result
...
Рейтинг: 0 / 0
Поразрядное логическое OR
    #32060301
Alex Alexeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
jimmers, спасибо тебе, не первй раз уже меня ты выручаешь.
Главное оперативно!
...
Рейтинг: 0 / 0
Поразрядное логическое OR
    #32060306
Alex Alexeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тока надо делать
set @result = 0,
а то пр значениях поля 0,2,0,4 получится 7, а надо 6
...
Рейтинг: 0 / 0
Поразрядное логическое OR
    #32060309
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, конечно!
Посыпаю голову пеплом...
...
Рейтинг: 0 / 0
Поразрядное логическое OR
    #32060509
olegusan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот так не подойдет?

select sum(distinct MyField) from MyTable
...
Рейтинг: 0 / 0
Поразрядное логическое OR
    #32060586
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2olegusan

Не годится, например: 56 OR 93 = 125, 56 + 93 = 149
...
Рейтинг: 0 / 0
Поразрядное логическое OR
    #32060607
olegusan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне показалось, что область значений Int_Value
это числа, у которых установлен только 1 бит (1,2,4,8,...)
...
Рейтинг: 0 / 0
Поразрядное логическое OR
    #32061009
Alex Alexeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет область значений - числа, с любым количеством установленных бит
...
Рейтинг: 0 / 0
Поразрядное логическое OR
    #32061068
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2olegusan
Даже если область значений Int_Value это числа, у которых установлен только 1 бит (1,2,4,8,...), то всё равно неправильно. 1+1 = 2, 1 OR 1 = 1
В исходном вопросе:
Int_Value
1
2
1
4
а получиться должно 7 (при использовании sum - 8)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Поразрядное логическое OR
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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