ограничение символов при конвертации и поиске файлов изображений в SQL - PullRequest
0 голосов
/ 29 мая 2018

Я понимаю, что это сценарий, но подумал, что я бы попросил помощи.У нашей компании есть старая база данных CSM, которую я пытаюсь урезать, и мне нужно искать в старых инцидентах бесполезные вложения изображений в сообщениях электронной почты, которые я затем могу удалить.Я создал SP и Job, который работает с небольшими изображениями (логотип facebook, твиттер и т. Д.), Но я изо всех сил стараюсь справиться с большими файлами, особенно с расширениями jpg.Вложения хранятся в виде типа «изображение», поэтому мне нужно преобразовать в varchar через varbinary для фактического выполнения поиска, который работает, как показано ниже.

SELECT CONVERT(VARCHAR(max), CONVERT(VARBINARY(max), column_name_1),2), *
from table_name with (nolock)
where ID = ''

, который возвращает искомый varchar, который я могу использовать в своем SP.

SELECT ID FROM column_name_1 WITH (NOLOCK)
where CONVERT(VARCHAR(MAX), CONVERT(VARBINARY(MAX), column_name_1),2) = 'some_Large_text_from_previous_select_convert'

SP не важен, это как искать большие файлы изображений.Из-за двойного преобразования я могу получить 16 772 символа, но большие файлы изображений больше, чем это. Если я буду искать, используя LIKE, то получу строку или двоичный код, будет усечена ошибка.Кто-нибудь сталкивался с этим раньше и знает, как настроить мой запрос, пожалуйста?

...