尝试更新具有varbinary
列的表。我有一列称为code的列,其值需要将isdeleted
列设置为0,因此恰好是varbinary
。我需要将代码列中的许多值删除设置为0。
我尝试了一个update
语句,将代码处于某些值的代码列的isdeleted
设置为0。
Update dbo.code
set isdeleted = '0'
where code in ('1', '2', '3')
期望将这些值设置为0,但是会收到错误消息
第1级第3行第16条状态257消息 不允许从数据类型varchar隐式转换为varbinary。使用CONVERT函数运行此查询
答案 0 :(得分:0)
来自Google :VARBINARY类型类似于VARCHAR类型,但是存储二进制字节字符串而不是非二进制字符串。 M表示最大列长度(以字节为单位)。它不包含任何字符集,并且比较和排序基于字节的数值。
您可以尝试-
Update dbo.code
set isdeleted = 0 -- Remove single quotes from the Value
where code in ('1', '2', '3')
我对您的要求还有其他意见/建议。正如您提到的那样,您想将'0'推送到isdeleted列中,我想您正在寻找在该列中存储1或0来定义行(可能是删除)的情况。如果我猜对了,我的建议是使用BIT数据类型列并将1或0存储到该列。