Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.01;
Скачать: CL | DM;

Вниз

Битовые операции в SQL   Найти похожие ветки 

 
bumper   (2006-07-28 00:12) [0]

Здравствуйте.
Выскажитесь, знающие, как элеганто проверить определённый бит числового поля в SQL запросе?
м.б. существует какой-то синтаксис для манипуляции битами?
UDF пока в расчёт не берём......и деление не сильно приветствуется....хотя если без него никак.......... :)


 
Johnmen ©   (2006-07-28 09:08) [1]

Осталось выяснить, что за БД


 
ЮЮ ©   (2006-07-28 09:36) [2]

>Осталось выяснить, что за БД

А потом сказать о неверной структуре БД :) Почему биты, а не таблица с отношением 0..N ?


 
bumper   (2006-07-28 11:07) [3]

БД Firebird 1.5.3.... Биты, потому что индексов по ним не надо совсем, а разница между между 2-мя байтами (smallint) и 16-тью (те же флаги, но в отдельных полях) особенно заметна, если записей этак чуть больше миллиона.....

...Долго мучившись, пришёл к выводу, что элегантнее чем UDF изобрести не удастся...... Поправьте если не так..... Ибо скорость тоже важна.


 
Johnmen ©   (2006-07-28 11:25) [4]

Пример проверки 5-го бита в поле F (integer):
WHERE CAST(F/16.0-0.5 AS INT)/2.0 -
 CAST((CAST(F/16.0-0.5 AS INT)-0.5)/2.0 AS INT) > 0


 
ЮЮ ©   (2006-07-28 11:30) [5]

Если скорость важна, то почему так хочется полного сканирования таблицы?


 
Ega23 ©   (2006-07-28 11:33) [6]

В MSSQL есть "|" и "&".
Не знаю, правда, они из T-SQL или из ANSI пришли...


 
Desdechado ©   (2006-07-28 15:47) [7]

Johnmen ©   (28.07.06 11:25) [4]
есть подозрение, что UDF работает быстрее в силу скомпилированности кода, а не интерпретации исполнителем команд


 
Медведъ   (2006-07-28 17:28) [8]

[5]


 
Desdechado ©   (2006-07-28 17:38) [9]

ЮЮ ©   (28.07.06 11:30) [5]
в FB2 появилась возможность построения индекса по выражению, в т.ч. с участием функций



Страницы: 1 вся ветка

Текущий архив: 2006.10.01;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.053 c
3-1154338135
term1t
2006-07-31 13:28
2006.10.01
Cannot focus a disabled or invisible window


15-1157719853
oldman
2006-09-08 16:50
2006.10.01
Типа тест...


15-1157893292
Колдун
2006-09-10 17:01
2006.10.01
Файловый менеджер


1-1152574399
Ил1я
2006-07-11 03:33
2006.10.01
Чужая презентация в своем окне


9-1136868159
D-Man
2006-01-10 07:42
2006.10.01
Контексты рендринга