SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 20.12.2016 20:36:58

Дмитрий79
Участник
Зарегистрирован: 07.08.2016
Сообщений: 14

Работа с двоичными данными произвольной длины

Здравствуйте!

Подскажите, пожалуйста, есть ли в MySQL какие-либо механизмы для работы с двоичными данными произвольной длины.
Мне нужно оперировать с последовательностью бит, совершать над ними битовые операции AND,OR.

Поле типа BIT упирается в 64 бита, мне нужно больше бит, BLOB вообще интерпретирует все как текст, т.е.

UPDATE `table` SET `blob_column`=12
значит 3132 в HEX, а не 1100(bin) как хотелось бы.

Получается, что всё ограничивается 64 битами?

P.S. что такое 8 бит - 8 человек с битами!

Неактивен

 

#2 20.12.2016 22:36:22

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 1961

Re: Работа с двоичными данными произвольной длины


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 23.12.2016 22:10:11

Дмитрий79
Участник
Зарегистрирован: 07.08.2016
Сообщений: 14

Re: Работа с двоичными данными произвольной длины

Спасибо за ссылку. Однако из этой статьи следует, что BINARY и VARBINARY тоже рассматриваются как строки, судя по примеру.

CREATE TABLE t (c BINARY(3));
INSERT INTO t SET c = 'a';
SELECT HEX(c), c = 'a', c = 'a\0\0' from t;


выдает 610000, т.е. код символа a, дополненный двумя нулями; 0 и 1.

Как сохранять и получать битовые последовательности, всё равно не понятно.

Отредактированно Дмитрий79 (24.12.2016 14:33:22)

Неактивен

 

#4 08.01.2017 23:13:20

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3720

Re: Работа с двоичными данными произвольной длины

В MySQL 8 обещают побитовые операции над BINARY данными:
http://mysqlserverteam.com/mysql-8-0-storing-ipv6/

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson