powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / bitwise and
14 сообщений из 14, страница 1 из 1
bitwise and
    #39733637
Фотография Гадя Петрович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может кто силён в битовых операциях?
Как такое
Код: sql
1.
AND STATUS & (256 | 128) <> 0


Переписать что бы индекс подцепился
...
Рейтинг: 0 / 0
bitwise and
    #39733642
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гадя ПетровичМожет кто силён в битовых операциях?
Как такое
Код: sql
1.
AND STATUS & (256 | 128) <> 0


Переписать что бы индекс подцепился
никак, вычисляемое поле и индекс на него
...
Рейтинг: 0 / 0
bitwise and
    #39733654
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гадя Петрович
Код: sql
1.
AND STATUS & (256 | 128) <> 0



Посмотреть какие значения STATUS соответствуют указанному выражению и оформить как сравнение с определенным набором значений в IN () или диапазоном значений через >, <, beween.
...
Рейтинг: 0 / 0
bitwise and
    #39733661
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey SizovГадя Петрович
Код: sql
1.
AND STATUS & (256 | 128) <> 0



Посмотреть какие значения STATUS соответствуют указанному выражению и оформить как сравнение с определенным набором значений в IN () или диапазоном значений через >, <, beween.
все числа с 8 и 9м битом? главное чтобы не BigInt было
...
Рейтинг: 0 / 0
bitwise and
    #39733663
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может если только чутка помочь ( STATUS >= 128 AND ( STATUS & 256 = 256 OR STATUS & 128 = 128 ))
...
Рейтинг: 0 / 0
bitwise and
    #39733664
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Sizovдиапазоном значений через >, <, beween.


STATUS & (256 | 128) - в диапазон не превратишь


Гадя ПетровичМожет кто силён в битовых операциях?
Как такое
Код: sql
1.
AND STATUS & (256 | 128) <> 0



Переписать что бы индекс подцепился

STATUS & (256 | 128) <> 0 - это не SARG предикат, он не может использовать индекс (seek)

возможные варианты вам уже предложили : индексированное вычисляемое поле или джойн на справочник всех возможных статусов с фильтрацией справочника по вашему условию
...
Рейтинг: 0 / 0
bitwise and
    #39733666
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex,

авторсправочник всех возможных статусов с фильтрацией справочника по вашему условию
я когда-то пытался перевести на такую модель... В общем она оправдываетс себя практически никогда, даже в сравнением с вариантом. Разве что на очень коротких типах...
...
Рейтинг: 0 / 0
bitwise and
    #39733667
Фотография Гадя Петрович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну до перечисления я сам додумался, не очень удобно. За вычисляемое спасибо, попробую
...
Рейтинг: 0 / 0
bitwise and
    #39733670
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если всё это действительно применять, то встаёт вопрос: а зачем вообще тогда здесь битовые операции? Изначально.
...
Рейтинг: 0 / 0
bitwise and
    #39733672
Фотография Гадя Петрович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iapЕсли всё это действительно применять, то встаёт вопрос: а зачем вообще тогда здесь битовые операции? Изначально.изначально для того, что разработчики применяют свои не всегда полезные привычки к t-sql коду
...
Рейтинг: 0 / 0
bitwise and
    #39733673
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKmsLex,

авторсправочник всех возможных статусов с фильтрацией справочника по вашему условию
я когда-то пытался перевести на такую модель... В общем она оправдываетс себя практически никогда, даже в сравнением с вариантом. Разве что на очень коротких типах...
Зависит от количества реально возможных статусов.
Запросто может быть, что куча битов взаимосвязаны и реальных состояний объекта (даже при 64 битной маске) не более нескольких 1000
...
Рейтинг: 0 / 0
bitwise and
    #39733709
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гадя Петрович,

ИМО даже сделать триггер на сохранение изменений с битовой разбивкой по полям будет гуманнее.
...
Рейтинг: 0 / 0
bitwise and
    #39733711
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав КолосовГадя Петрович,

ИМО даже сделать триггер на сохранение изменений с битовой разбивкой по полям будет гуманнее.
целый триггер? масштабно
...
Рейтинг: 0 / 0
bitwise and
    #39733718
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaK,

может и слишком масштабно :)
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / bitwise and
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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