[英]Change column from VARCHAR(MAX) to VARBINARY(MAX)
我有一个包含VARCHAR(MAX)
列的表,我需要将其更改为VARBINARY(MAX)
。
我尝试使用命令
ALTER TABLE TableName ALTER COLUMN ColumnName VARBINARY(MAX)
但我得到了错误
消息 257,16 级,State 3,第 1 行
不允许从数据类型 varchar(max) 到 varbinary(max) 的隐式转换。
使用 CONVERT function 运行此查询。
该表没有数据,所以我不明白为什么它会抱怨数据转换。
您无法使用ALTER TABLE
语句执行此转换,因为从varchar(max)
转换为varbinary(max)
需要显式转换 。 因此,您应该按照以下步骤更改表格:
VARBINARY(MAX)
新列更改表 VARCHAR(MAX)
列中有现有数据,请使用update语句将数据添加到VARBINARY
列 VARCHAR(MAX)
列 varbinary
列重命名为varchar
名称(来自@Ben Thul的评论) 将Varchar
转换为Int
,然后将Int
更改为Binary
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.