Ошибка преобразования в SQL server "типы данных nvarchar (max) и varbinary (max) несовместимы в операторе add"
Я использую преобразование типа varbinary для переменной в динамическом запросе. Я очень хорошо справляюсь с ошибками динамических запросов и знаю, что что-то не так при преобразовании nvarchar(max) и varbinary(max) в динамический запрос.
Но я не в состоянии найти его решение.
DECLARE @Oldlogo varbinary(max) SET @Oldlogo = 'some binary code' declare @query nvarchar(max) SET @query = '' SET @query = @query + ' IF EXISTS(SELECT 1 FROM Company WHERE CONVERT(varbinary,Company_Logo_TopLeft) = CONVERT(varbinary,''' + @Oldlogo + ''')) ' SET @query = @query + ' BEGIN ' SET @query = @query + ' Do someting' SET @query = @query + ' END ' SET @query = @query + ' ELSE' SET @query = @query + ' BEGIN ' SET @query = @query + ' Do someting else' SET @query = @query + ' END ' EXEC (@query)
Сообщение об ошибке
"Типы данных nvarchar(max) и varbinary (max) несовместимы в операторе add."
Кто-нибудь поможет?
Спасибо
Что я уже пробовал:
Я попытался использовать запрос параметров и выполнить его с помощью sp_executesql, но безуспешно. используется sp_executeSQL и @params
CHill60
Как насчет ошибки перед этим: "Msg 257, Уровень 16, состояние 3, строка 2
Неявное преобразование из типа данных varchar в varbinary (max) не допускается. Используйте функцию CONVERT для выполнения этого запроса."