powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Логические операции с большими объемами данных.
3 сообщений из 3, страница 1 из 1
Логические операции с большими объемами данных.
    #32013552
Tueur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется: два поля типа image, в которых хранятся бинарники длинной порядка 3Мб.
Нужно : получить бинарник, путем побитового AND (или OR) двух исходных.
Приветствуются любые идеи...
...
Рейтинг: 0 / 0
Логические операции с большими объемами данных.
    #32013570
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе, тип image даже неявно можно привести к binary. Но в сиквеле побитовые операции разрешены только для целочисленных типов данных. Выполнить операции для binary или varbinary нельзя.
Я вижу пока 2 выхода:
- читать из исходных данных по куску, кратному int (или bigint), проводить операции между полученными кусочками, сливать в конец накапливаемого результата
- проводить эти действия, пользуясь языком, который приспособлен для них (типа С++), но тут возникнет вопрос трафика...
...
Рейтинг: 0 / 0
Логические операции с большими объемами данных.
    #32013571
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ничего хорошего не получиться. Один из операндов должен быть типа int или ему подобного. Придется циклом пробегать по всей строке. Будет сильно тормозить.

create table #t(s1 image, s2 image, dest image null)

insert #t select 0x1111112211111133, 0x01010101ffffffff, 0x

declare @i int, @b binary(1), @s1 binary(1), @s2 binary(1)

DECLARE @ptrval binary(16)
SELECT @ptrval = TEXTPTR(dest), @i=1 from #t

while @i<=(select datalength(s1) from #t)
begin
select @s1=substring(s1,@i,1),@s2=substring(s2,@i,1) from #t
select @b=@s1 & /* или "|" */ convert(int,@s2)
UPDATETEXT #t.dest @ptrval null null @b
select @i=@i+1
end

select * from #t

Может кто предложит лучше, но сомневаюсь.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Логические операции с большими объемами данных.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]