我有一个有VARCHAR(MAX)列的表,我需要将其更改为VARBINARY(MAX).
我尝试使用该命令
ALTER TABLE TableName ALTER COLUMN ColumnName VARBINARY(MAX)
Run Code Online (Sandbox Code Playgroud)
但我得到了错误
消息257,级别16,状态3,行1
不允许从数据类型varchar(max)到varbinary(max)的隐式转换.
使用CONVERT函数运行此查询.
该表没有数据,所以我无法理解为什么它抱怨数据转换.
Tar*_*ryn 16
您无法使用ALTER TABLE语句执行此转换,因为从转换varchar(max)为varbinary(max)需要显式转换.因此,您应该按照以下步骤更改表格:
VARBINARY(MAX)VARCHAR(MAX)列中有现有数据,请使用update语句将数据添加到VARBINARY列中VARCHAR(MAX)列varbinary列重命名为varcharname(来自@Ben Thul的评论)