我有一个包含一VARCHAR(MAX)列的表,我需要将其更改为VARBINARY(MAX).
我尝试使用命令
ALTER TABLE TableName ALTER COLUMN ColumnName VARBINARY(MAX)
但我得到了错误
消息 257,级别 16,状态 3,第 1 行
不允许从数据类型 varchar(max) 到 varbinary(max) 的隐式转换。
使用 CONVERT 函数运行此查询。
该表没有数据,所以我不明白为什么它抱怨数据转换。
我有一个包含一VARCHAR(MAX)列的表,我需要将其更改为VARBINARY(MAX).
我尝试使用命令
ALTER TABLE TableName ALTER COLUMN ColumnName VARBINARY(MAX)
但我得到了错误
消息 257,级别 16,状态 3,第 1 行
不允许从数据类型 varchar(max) 到 varbinary(max) 的隐式转换。
使用 CONVERT 函数运行此查询。
该表没有数据,所以我不明白为什么它抱怨数据转换。
您不能使用ALTER TABLE语句执行此转换,因为从varchar(max)tovarbinary(max)转换需要显式转换。因此,您应该按照以下步骤更改您的表格:
VARBINARY(MAX)VARCHAR(MAX)列中有现有数据,请使用更新语句将数据添加到VARBINARY列中VARCHAR(MAX)列varbinary将列重命名为varchar名称(@Ben Thul的每条评论)转换Varchar为Int,然后更改Int为Binary.