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