После обновления моих данных я получаю:
Implicit conversion from data type
varchartovarbinaryis not allowed. Use the CONVERT function to run this query.
Столбец, который я обновляю, уже varbinary, поэтому я запутался.
UPDATE [db].[dbo].[table_backup]
SET [isDeleted] = '1'
WHERE column IN (' ', ' ', ' ')
Почему вы храните то, что выглядит как логическое значение в поле varbinary? Почему не поле bit?


Судя по предоставленным данным, вы пытаетесь сохранить битовые/логические данные (да/нет, истина/ложь) в столбце IsDeleted.
Однако в настоящее время у вас есть IsDeleted, установленный в столбец varbinary. Хотя у varbinary есть свои применения, в вашем случае это не рекомендуется.
Решением здесь было бы изменить тип данных на бит.
В качестве альтернативы избавьтесь от кавычек:
UPDATE [db].[dbo].[table_backup] SET
[isDeleted] = 1
WHERE
column in (' ', ' ', ' ')
Я не могу изменить тип данных и согласен с тем, что тип данных для этого столбца следует изменить из-за плохого дизайна, однако я не могу изменить тип данных для своего лида. Я знаю, что есть способ вставить туда значения, но я также не хочу вставлять 0x или 1x в качестве значений. Я хочу сделать true или false, «1» или «0».
Какого типа вы ожидаете от
'1'?