Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - Битовая обработка данных

Ответить
Настройки темы
MySQL - Битовая обработка данных

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Проблема в следующем:
В таблице БД имеется поле типа text фиксированной длины (57 символов). Очевидно, запись в этом поле будет занимать 57 байт, то есть 456 бит. Как средствами SQL проанализировать только конкрктные биты поля?
К примеру, как сделать запрос, который проверит на равенство единице, скажем, 101-й и 300-й бит поля? Возможно, как-то с помощью битовых опираций, но как?
Если у кого-нибудь будут какие-то мысли по этому поводу, помогите.
Заранее благодарен.

Отправлено: 19:56, 02-12-2007

 

Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


pralev,
начните здесь , особенно посмотрите там коментарий - вроде чтото похожее
(то есть, Вам скорей всего нужны функция IF, и в ней уже проверять есть ли бит на нужном месте (то есть оператор &))

-------
Fortes fortuna adiuvat


Отправлено: 20:29, 02-12-2007 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для kim-aa

Назгул


Сообщения: 2633
Благодарности: 345

Профиль | Отправить PM | Цитировать


Битовые операции, вобще-то, не являются стандартным свойством реляционных БД.
Т. е. к ним не применимы многие стандартные "фенечки", например индексирование.
При большом объеме данных это будет серьезный затык в производительности.
По-этому в больших БД, часто жертвуют размером ради скорости, т. е. выделяют под битовое поле минимально возможное атомарное значение, например байт. Или используют не один столбец со значением text (который кстати тоже не описан в реляционной алгебре),
а используют группу столбцов типа максимально-возможное целое (в вашем случае это будет 8 столбцов по 8 бит).
В таком случае, например проверка на наличие 1цы, скажем в 7 разряде будет проходить как
" > 127"

Или же если функциональная матрица сильно разрежена (используются минимум пар: входное значение - выходное значение), пытаются перенести вычисления из булевой алгебры, в операции со множествами.

-------
Мы овладеваем более высоким стилем спора. Спор без фактов. Спор на темпераменте. Спор, переходящий от голословного утверждения на личность партнера. (c)Жванецкий


Отправлено: 11:59, 03-12-2007 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - Битовая обработка данных

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Битовая карта MFT повреждена макс70 Накопители (SSD, HDD, USB Flash) 6 20-01-2010 09:00
Разное - Обработка массивов данных, программа на паскале. Не могу найти ошибку в программе yulia_hoi Программирование и базы данных 6 08-01-2010 14:50
HDD - [решено] Неверная битовая карта тома rvi77 Накопители (SSD, HDD, USB Flash) 4 21-06-2009 09:40
MySQL - [решено] сохранение данных в базе данных Mysql TigerZaka Программирование и базы данных 4 24-08-2008 15:48
Архивирование данных и работающих баз данных. karadjich Программное обеспечение Windows 2 23-07-2007 17:01




 
Переход