Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.46 MB
Время: 0.041 c
11-1161959362
Max727
2006-10-27 18:29
2007.06.17
Как получить список таблиц?


15-1179825442
vajo
2007-05-22 13:17
2007.06.17
BDS2006 - C++ Builder. Преобразование числа в строку


2-1179930089
Sonia
2007-05-23 18:21
2007.06.17
Закраска цветом компонентов


2-1179905554
Алексин
2007-05-23 11:32
2007.06.17
проблемы с реализацией


1-1176961998
Slider007
2007-04-19 09:53
2007.06.17
Возвращение результата формы (не ModalResult)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский