Форум: "Базы";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];
ВнизБитовые операции в 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.013 c