powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как узнать значение i-го бита в целом числе средствами "чистого" SQL
5 сообщений из 5, страница 1 из 1
Как узнать значение i-го бита в целом числе средствами "чистого" SQL
    #32052554
Alexey Frolov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как узнать значение i-го бита в целом числе средствами "чистого" SQL?
Надо выбрать документы обладающие определенными битами в маске соответствующим некоторым признакам слостояния. Как это лучше сделать.
Заранее спасибо.
...
Рейтинг: 0 / 0
Как узнать значение i-го бита в целом числе средствами "чистого" SQL
    #32052561
olegusan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
select my_value & my_mask
...
Рейтинг: 0 / 0
Как узнать значение i-го бита в целом числе средствами "чистого" SQL
    #32052579
Alexey Frolov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не он так маску в конец числа добавляет
т.е. если маска равна 24 и нужно узнать 3-й бит то получаем: 24 & 8=248.
...
Рейтинг: 0 / 0
Как узнать значение i-го бита в целом числе средствами "чистого" SQL
    #32052587
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
SELECT  24  &  8 

 ----------- 
 
 8 

( 1  row(s) affected)
...
Рейтинг: 0 / 0
Как узнать значение i-го бита в целом числе средствами "чистого" SQL
    #32052590
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
declare @val int,@val1 int, @mask int
set @val= 24    -- hex 18 bit 00011000
 
set @val1= 20   -- hex 14 bit 00010100
 
set @mask= 8    -- hex 08 bit 00001000
 
select @val&@mask ,@val1&@mask  ---- = 8,0 hex 8,0 bit 1000,0
 
 -- use case 
 
select case when (@val&@mask)> 0   then 'TRUE' else 'FALSE' end,
       case when (@val1&@mask)> 0  then 'TRUE' else 'FALSE' end
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как узнать значение i-го бита в целом числе средствами "чистого" SQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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