Форум: "Базы";
Текущий архив: 2007.06.17;
Скачать: [xml.tar.bz2];
ВнизЧто-то не соображу как запрос сформировать, пожскжите плиз... Найти похожие ветки
← →
ChainickDenis (2007-03-26 23:18) [0]Есть в записи некое поле, скажем STATUS типа integer, но использую его как байт, где каждый бит имеет некое значение.
Хочу из базы выбрать все записи с определенным значением бита.
Например хочу выбрать все записи со статусом с установленным 7-м битом:
SELECT ALL P.NAME from P as "name.db" WERE ((P.STATUS and 128) <> 0)
Но что-то мне подсказывает что здесь не все так просто...
Подскажите пожалуйста.
← →
Johnmen © (2007-03-27 00:12) [1]Что за СУБД?
← →
ChainickDenis (2007-03-27 08:50) [2]
> Johnmen © (27.03.07 00:12) [1]
Interbase или парадокс. Не рашил еще. Пока думаю.
А есть разница?
← →
ЮЮ © (2007-03-27 09:28) [3]>Interbase или парадокс. Не рашил еще. Пока думаю.
может тогда MS SQL:& (Bitwise AND)
Performs a bitwise logical AND operation between two integer values.
Или подумаешь о нормальном (реляционном) подходе к данной проблеме? Т.е. вместо поля - "массива битов" добавить таблицу с отношением один ко многим.
← →
Jan (2007-03-27 09:49) [4]
> Interbase или парадокс. Не рашил еще. Пока думаю.
А что думать? интересно какие у тебя критерии :)
Из бесплатных я бы выбрал: MSDE+Express Edtion MSSQL, FB 2.0.1, Oracle Express, DB2 Express.
← →
Jan (2007-03-27 09:50) [5]
> Есть в записи некое поле, скажем STATUS типа integer, но
> использую его как байт, где каждый бит имеет некое значение.
>
>
А зачем? В чем суть?
← →
Jan (2007-03-27 09:51) [6]
> Но что-то мне подсказывает что здесь не все так просто..
> .
В FB можешь через UDF это сделать.
← →
Johnmen © (2007-03-27 10:57) [7]В IB/FB делается без UDF.
← →
ANB © (2007-03-27 11:09) [8]
> ChainickDenis (26.03.07 23:18)
запрос такой написать можно. Для разных СУБД он будет выглядеть по разному. Но на всех будет одна и та же проблема - фулл-скан таблицы.
ИМХО - хреновая идея. Флаги в числе хранить, в принципе, можно, но искать по ним - издевательство над сервером и юзером. Ну или в таблице должно быть не более 100 записей.
← →
Desdechado © (2007-03-27 11:25) [9]> Хочу из базы выбрать все записи с определенным значением бита.
> Interbase или парадокс. Не рашил еще. Пока думаю.
Я торчу от такого подхода!
Еще ничего не известно, но уже пишем запросы и удивляемся, что они не работают.
← →
ChainickDenis (2007-03-28 09:32) [10]
> Я торчу от такого подхода!
Нормальный подход чайника...
Выберу базу которая подходит под мои требования, и если потом мне будет хреново 0 пирипишу все заново..
Вобщем я все понял: битовоориентированные запросы - экзотика.
Спасибо.
Денис.
← →
evvcom © (2007-03-28 10:43) [11]> [10] ChainickDenis (28.03.07 09:32)
> битовоориентированные запросы - экзотика.
Ну почему ж? В MSSQL они на уровне сервера поддерживаются. Там есть битовые поля.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.06.17;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.043 c