繁体   English   中英

将列从 VARCHAR(MAX) 更改为 VARBINARY(MAX)

[英]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)需要显式转换 因此,您应该按照以下步骤更改表格:

  1. 使用VARBINARY(MAX)新列更改表
  2. 如果VARCHAR(MAX)列中有现有数据,请使用update语句将数据添加到VARBINARY
  3. 更改表以删除VARCHAR(MAX)
  4. varbinary列重命名为varchar名称(来自@Ben Thul的评论)

Varchar转换为Int ,然后将Int更改为Binary

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM