我有一个包含VARCHAR(MAX)
列的表格,我需要将其更改为VARBINARY(MAX)
。
我尝试使用命令
ALTER TABLE TableName ALTER COLUMN ColumnName VARBINARY(MAX)
但是我收到了错误
Msg 257,Level 16,State 3,Line 1
不允许从数据类型varchar(max)到varbinary(max)的隐式转换 使用CONVERT函数运行此查询。
该表没有数据,所以我无法理解它为什么抱怨数据转换。
答案 0 :(得分:15)
自converting from varchar(max)
to varbinary(max)
requires an explicit conversion以来,您无法使用ALTER TABLE
语句执行此转换。因此,您应该按照以下步骤更改表格:
VARBINARY(MAX)
VARCHAR(MAX)
列中有现有数据,请使用update语句将数据添加到VARBINARY
列VARCHAR(MAX)
列varbinary
列重命名为varchar
名称(来自@Ben Thul的每条评论)