Как мы выполняем операции с двоичным типом данных SQL? - PullRequest
1 голос
/ 16 октября 2011

Привет всем, можно ли выполнять арифметические операции с двоичным типом данных MySQL / SqlServer?

Например, у меня есть 256-битные значения, хранящиеся в столбце.

И я хочу выбрать значения от 10000000000 (1024) до 10011010100111110101 (633333).

Предоставляют ли базы данных эту функцию?

Или сохранение его в виде 4-х 64-битных целочисленных столбцов - единственный способ выбрать диапазон от x до y?

1 Ответ

2 голосов
/ 09 сентября 2013

'Двоичный тип данных' / двоичный объект / BLOB непрозрачен для базы данных по определению.Если вы используете этот тип, приложение обрабатывается .

Если вы хотите, чтобы база данных обрабатывала / индексировала / запрашивала ваши данные, выберите тип данных, который он понимает.Для SQL Server BIGINT составляет 8 байтов (64 бита), а NUMERIC может идти до 38 цифр (~ 126 бит).В MySQL DECIMAL / NUMERIC может идти до 64 или 65 цифр (~ 212 бит).

И если у вас действительно есть реальное требование, вы можете «выделить» фактические значимые сегменты в свои собственные столбцы.& запрос по ним.

В самом тупом и неосведомленном случае, это может разделить ваш 256-битный блок на 2 или 4 слова;но если у вас есть какие-либо реальные требования, вы сможете определить более конкретные разделы, представляющие интерес для бизнеса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...